/* 军哥滑雪视觉主题。高于运行时载入的 Arena 样式；不覆盖驾驶 HUD 或触控层。 */
:root {
  --jg-navy: #082c51;
  --jg-blue: #245d91;
  --jg-snow: #f5fbff;
  --jg-ice: #d7efff;
  --jg-orange: #ff7b20;
  --jg-hero: url("./assets/ski-hero.png");
  --jg-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 80'%3E%3Cpath d='M32 2 60 20V49L49 65 32 77 15 65 4 49V20Z' fill='%23082c51' stroke='white' stroke-width='3'/%3E%3Cpath d='m10 27 13-15 11 12 9-13 13 19-15-9-7 10-11-10Z' fill='white'/%3E%3Cpath d='m34 24 9-13 13 19-13-10 1 8Z' fill='%23ff852a'/%3E%3C/svg%3E");
  --jg-card-mountain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 130'%3E%3Cpath fill='%23b3dcf7' d='M0 98 74 27 110 65 162 8 242 88 270 58 300 87V130H0Z'/%3E%3Cpath fill='%23fff' d='m74 27 36 38 52-57 24 25-27-9-14 33-23-9-12 32-36-29-22 35-24 7ZM0 117l100-24 105 22 95-26v41H0Z'/%3E%3Cpath fill='%232f659b' d='m162 8-17 49 14-33 27 9ZM74 27 52 86l22-35 36 29-9-22Z'/%3E%3Cpath d='M164 9V-1m0 0 23 5-23 8' stroke='%23ff7b20' stroke-width='3' fill='%23ff7b20'/%3E%3C/svg%3E");
}

/* The shield stays small and transparent over actual gameplay. */
body .jg-brandbar { gap: 10px; }
body .jg-mark {
  position: relative; width: 36px; height: 44px; flex: none;
  background: none; clip-path: none; color: #fff;
}
body .jg-mark > svg { width: 100%; height: 100%; }
body .jg-mark > span { position: absolute; top: 19px; font-size: 21px; line-height: 24px; font-weight: 900; }
body .jg-brandbar b { font-weight: 900; letter-spacing: .01em; }
html.jg-welcoming .jg-brandbar {
  color: var(--jg-navy); background: linear-gradient(#f1faffd9, #edf8ff00);
  height: calc(72px + env(safe-area-inset-top, 0px));
  padding: calc(10px + env(safe-area-inset-top, 0px)) max(24px, env(safe-area-inset-right, 0px)) 10px max(24px, env(safe-area-inset-left, 0px));
}
html.jg-welcoming .jg-brandbar-motto { color: #315f87; }
html.jg-welcoming .jg-brandbar button {
  color: var(--jg-navy); border-color: #ffffffc9;
  background: #eef8ffe3; box-shadow: 0 3px 12px #3c77a51a;
}

/* Snow artwork is a backdrop, while all labels and buttons remain live DOM. */
body #jg-welcome {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start;
  padding: calc(94px + env(safe-area-inset-top, 0px)) max(5vw, 24px) max(34px, env(safe-area-inset-bottom, 0px));
  overflow: auto; overflow-x: hidden; touch-action: pan-y; overscroll-behavior: contain;
  color: var(--jg-navy); background-color: #cae8ff;
  background-image: linear-gradient(90deg, #e9f7ffe6 0%, #ecf8ffb0 33%, #e8f6ff12 66%), var(--jg-hero);
  background-size: cover; background-position: center, center; background-repeat: no-repeat;
}
body #jg-welcome[hidden] { display: none !important; }
body #jg-welcome .jg-welcome-card {
  width: min(600px, 52vw); flex: none; margin-block: auto;
  text-align: center; filter: drop-shadow(0 2px 6px #ffffff88);
}
body #jg-welcome .jg-hero-emblem { display: block; width: min(230px, 45%); height: 62px; margin: 0 auto -7px; }
body #jg-welcome .jg-eyebrow { justify-content: center; color: #35668d; margin: 13px 0; font-size: 11px; letter-spacing: .12em; }
body #jg-welcome h1 {
  color: var(--jg-navy); font-size: clamp(56px, 6vw, 86px); font-weight: 950;
  line-height: 1.1; letter-spacing: -.05em; font-style: italic;
  margin: 15px 0 19px; text-shadow: 0 3px 0 #fff, 0 6px 22px #ffffffa6;
}
body #jg-welcome h1 > span { color: inherit; }
body #jg-welcome h1 > i { color: var(--jg-navy); font-size: 15px; letter-spacing: .48em; margin-top: 13px; font-weight: 800; }
body #jg-welcome .jg-intro { color: #254e74; font-size: 16px; font-weight: 600; line-height: 1.65; margin: 0 0 23px; }
body #jg-welcome .jg-welcome-actions { width: min(500px, 100%); margin-inline: auto; }
body #jg-start {
  width: 100%; min-height: 70px; padding: 0 26px; border-radius: 24px;
  color: #fff; background: linear-gradient(180deg, #ff942e, #ef660b);
  border: 2px solid #ffffffab; box-shadow: 0 7px 0 #c34f0824, 0 10px 25px #ec751934, inset 0 2px 0 #ffd18ca1;
  font-size: 24px; font-weight: 900; justify-content: center; gap: 20px;
}
body #jg-start b { text-shadow: 0 2px 1px #b445004d; }
body #jg-start > span { font-size: 30px; line-height: 1; }
body #jg-start:disabled { opacity: .75; }
body #jg-start:enabled:hover { background: linear-gradient(180deg, #ffa347, #f47c1a); }
body #jg-start:active { transform: translateY(2px); box-shadow: 0 4px 12px #ec75192b; }
body #jg-welcome .jg-gear { display: flex; width: 100%; max-width: none; gap: 12px; margin: 18px 0 0; }
body #jg-welcome .jg-gear button {
  position: relative; display: flex; align-items: center; justify-content: center; gap: 12px;
  min-width: 0; min-height: 64px; padding: 10px 16px; border-radius: 21px;
  color: var(--jg-navy); background: #f8fcffcf; border: 1px solid #fff;
  box-shadow: 0 4px 12px #316b9221; font-size: 16px; backdrop-filter: blur(8px);
}
body #jg-welcome .jg-gear button > svg { width: 30px; height: 35px; flex: none; }
body #jg-welcome .jg-gear-copy { display: block; margin: 0; color: inherit; text-align: left; }
body #jg-welcome .jg-gear-copy strong { font-size: 16px; font-weight: 850; }
body #jg-welcome .jg-gear-copy small { display: block; color: #4d7190; font-size: 10px; font-weight: 500; margin-top: 3px; }
body #jg-welcome .jg-gear button.is-selected { border-color: #ef7319; background: #fff7eae8; box-shadow: 0 0 0 2px #ff8b3433, 0 4px 14px #285b8321; }
body #jg-welcome .jg-gear button.is-selected::after { content: "✓"; position: absolute; top: 4px; right: 9px; float: none; margin: 0; font-size: 13px; color: #bf5306; }
body #jg-platform-hint { color: #365e7f; font-size: 11px; margin: 15px 0 0; }
body #jg-welcome .ja-welcome-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; max-width: none; gap: 12px; margin: 27px 0 0; }
body #jg-welcome .ja-welcome-links > .ja-button {
  color: var(--jg-navy); padding: 0 10px 12px; font-size: 17px; font-weight: 900;
  min-width: 44px; min-height: 138px; border: 1px solid #fff; border-radius: 18px;
  background: linear-gradient(#e7f5ffcf, #ffffffed); box-shadow: 0 5px 16px #356f9c24;
  overflow: hidden; backdrop-filter: blur(8px);
}
body #jg-welcome .ja-welcome-links > .ja-button::before {
  content: ""; display: block; height: 76px; margin: 0 -10px 10px;
  background: var(--jg-card-mountain) center bottom / cover no-repeat;
}
body #jg-welcome .ja-welcome-links > .ja-button:nth-child(2)::before { background-position: 65% bottom; background-color: #c0e2fa; }
body #jg-welcome .ja-welcome-links > .ja-button:nth-child(3)::before { background-position: 25% bottom; background-color: #daedfb; }
body #jg-welcome .ja-welcome-links > .ja-button::after { display: block; font-size: 11px; font-weight: 500; color: #416b8f; margin-top: 5px; }
body #jg-welcome .ja-welcome-links > .ja-button:nth-child(1)::after { content: "征服更高的雪山"; }
body #jg-welcome .ja-welcome-links > .ja-button:nth-child(2)::after { content: "与好友一较高下"; }
body #jg-welcome .ja-welcome-links > .ja-button:nth-child(3)::after { content: "留下你的雪山纪录"; }
body #jg-welcome .ja-welcome-links > .ja-button:nth-child(4) { grid-column: 1 / -1; min-height: 44px; padding: 8px 16px; border-radius: 14px; font-size: 12px; background: #eef8ff99; }
body #jg-welcome .ja-welcome-links > .ja-button:nth-child(4)::before { display: none; }
body #jg-welcome .jg-features { justify-content: center; gap: 40px; margin: 18px 0 0; padding: 14px 0 0; border-color: #79a6c538; color: #477291; }
body #jg-welcome .jg-features b { color: #1c4b74; font-size: 20px; }
body #jg-welcome .jg-welcome-stamp { right: 5vw; bottom: 8vh; border: 1px solid #ffffffa8; border-radius: 16px; padding: 15px 22px; color: var(--jg-navy); background: #edf8ffb8; box-shadow: 0 8px 30px #225e8420; }
body #jg-welcome .jg-welcome-stamp span, body #jg-welcome .jg-welcome-stamp i { color: #315c82; }

/* Arena styles are scoped and use extra specificity because arena.css loads later. */
body .ja-dialog, body .ja-confirm {
  --ja-bg: #e4f2fd; --ja-surface: #f8fcff; --ja-line: #abcce24f; --ja-muted: #496c8a;
  color: var(--jg-navy); color-scheme: light; border-color: #ffffffdc;
  box-shadow: 0 30px 100px #06294c66, inset 0 1px 0 #fff;
}
body .ja-dialog { background: linear-gradient(145deg, #f0f9ff, #d7ebfa); border-radius: 26px; }
body .ja-dialog::backdrop, body .ja-confirm::backdrop { background: #07315394; backdrop-filter: blur(8px); }
body .ja-shell { grid-template-columns: 188px minmax(0, 1fr); }
body .ja-sidebar { background: linear-gradient(165deg, #123e67, #072a4b); border-color: #fff2; padding: 30px 16px; color: #f3faff; }
body .ja-logo > span { background: var(--jg-shield) center / contain no-repeat; transform: none; border-radius: 0; width: 40px; height: 50px; padding-top: 15px; color: #fff; font-size: 24px; }
body .ja-logo strong { color: #fff; font-weight: 900; font-size: 17px; }
body .ja-logo small { color: #b4d9f3; letter-spacing: .13em; padding-left: 50px; }
body .ja-sidebar .ja-button { color: #eef8ff; background: #17456c; border-color: #ffffff17; }
body .ja-sidebar .ja-button.is-quiet { color: #e2f4ff; background: #204c70; border-color: #456b88; }
body .ja-sidebar .ja-nav { border-color: transparent; }
body .ja-sidebar .ja-nav.is-current { color: #fff; background: linear-gradient(110deg, #2e658d, #32658a80); border-color: #aadcf94d; box-shadow: inset 3px 0 0 #ff892e; }
body .ja-sidebar .ja-nav:hover { background: #aadcf920; }
body .ja-sidebar .ja-nav-icon { color: #add4ed; }
body .ja-sidebar .ja-nav.is-current .ja-nav-icon { color: #ff963f; }
body .ja-sidebar .ja-user > small { color: #bfd9eb; }
body .ja-main { padding: 32px; scrollbar-color: #7cabc8 transparent; }
body .ja-page-header h1 { font-weight: 900; font-size: 30px; letter-spacing: -.035em; }
body .ja-kicker { color: #397398; letter-spacing: .1em; }
body .ja-button { color: #173f65; background: #f8fcffbf; border-color: #b9d4e7; border-radius: 13px; min-height: 44px; min-width: 44px; }
body .ja-button:hover { background: #fff; }
body .ja-button.is-primary { color: #072a4b; background: linear-gradient(#ff9c44, #ff7b20); border-color: #ffb564; box-shadow: 0 4px 12px #dd76212a, inset 0 1px 0 #fff7; font-weight: 850; }
body .ja-button.is-primary:hover { background: #ffad60; }
body .ja-button.is-quiet { color: #305d7f; border-color: #a8c9df99; background: #f0f8fe88; }
body .ja-button:focus-visible, body .ja-input:focus-visible, body #jg-welcome button:focus-visible { outline: 3px solid #de6312; outline-offset: 3px; }
body .ja-close { border-radius: 50%; background: #ffffffc9; color: #173f65; }
body .ja-alert { color: #285576; border-color: #8fbad9; background: #e9f6ff; }
body .ja-alert.is-error { color: #9d3517; border-color: #e9a188; background: #fff1e9; }
body .ja-loading { color: #315f83; }
body .ja-hero {
  padding: 34px; min-height: 240px; border-color: #fff; border-radius: 22px;
  background: linear-gradient(90deg, #f1faffef 0%, #edf8ffc7 50%, #edf8ff26), var(--jg-hero) center 45% / cover no-repeat, #cde8fc;
  box-shadow: 0 6px 18px #497fa721;
}
body .ja-hero::after { content: ""; }
body .ja-hero h2 { color: var(--jg-navy); font-size: clamp(28px, 3vw, 38px); font-style: italic; font-weight: 900; }
body .ja-hero p { color: #385e7e; max-width: 370px; }
body .ja-home-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
body .ja-home-card { border-color: #fff; padding: 20px; min-height: 160px; background: linear-gradient(155deg, #fff, #e8f5ff); box-shadow: 0 4px 12px #638aad19; }
body .ja-home-card h3 { color: #0f385f; font-weight: 850; }
body .ja-home-icon { color: #2d638d; font-size: 27px; }
body .ja-card-arrow { color: #e5731d; }
body .ja-home-card:nth-child(4) { grid-column: 1 / -1; min-height: 78px; padding: 14px 22px 14px 67px; }
body .ja-home-card:nth-child(4) .ja-home-icon { position: absolute; left: 23px; top: 23px; }
body .ja-home-card:nth-child(4) h3 { margin: 0 0 5px; font-size: 16px; }
body .ja-gears .is-selected { color: #0b385e; border-color: #f18b3b; background: #fff4e7; box-shadow: inset 0 0 0 1px #ffb16b; }
body .ja-gears .ja-button { min-width: 44px; flex: 1; }
body .ja-challenge, body .ja-profile-form, body .ja-panel, body .ja-seat { background: #f9fcffcf; border-color: #ffffffed; box-shadow: 0 4px 14px #567ea318; }
body .ja-course-art, body .ja-course-art.is-superpipe, body .ja-course-art.is-downhill { background: var(--jg-card-mountain) center bottom / cover no-repeat, #cce8fd; color: #225581; }
body .ja-course-art b { color: #275d85; letter-spacing: .12em; }
body .ja-targets span { background: #f1e0c5; color: #76512a; }
body .ja-targets .is-silver { color: #436179; background: #e3edf6; }
body .ja-targets .is-gold { color: #86620d; background: #fff0b1; }
body .ja-empty { background: #f7fcffad; border-color: #a9cbe3; }
body .ja-empty-icon { color: #659cbd; }
body .ja-input { color: #143e61; background: #fff; border-color: #abc9de; font-size: 16px; }
body .ja-input::placeholder { color: #7891a4; }
body .ja-field-label { color: #294f70; }
body .ja-avatar-option { background: #eaf5ff; border-color: #d3e7f7; }
body .ja-avatar-option.is-selected { border-color: #ea822e; background: #fff5e9; box-shadow: 0 0 0 2px #ffac602b; }
body .ja-avatar { border-color: #fff; background: linear-gradient(145deg, #daeefe, #9ccae8); box-shadow: 0 4px 13px #4c7b9e22; }
body .ja-profile-stats { background: #deedf891; border-radius: 14px; }
body .ja-profile-stats b, body .ja-seat-best { color: #175687; }
body .ja-my-rank { background: #fff4e6; border-color: #ffbf80; }
body .ja-my-rank > b { color: #b9530a; }
body .ja-my-rank strong { color: #114a75; }
body .ja-board { border-color: #c5ddec; background: #fbfdffbc; }
body .ja-board-row.is-mine { background: #d5edfc; }
body .ja-rank { color: #3d7499; }
body .ja-board-row:nth-child(-n+3) .ja-rank { color: #c06617; }
body .ja-room-status { color: #315f83; }
body .ja-room-hero { background: linear-gradient(130deg, #f8fcff, #d0e8fa); border-color: #fff; }
body .ja-invite { border-color: #83b0d0; background: #f7fcffbd; }
body .ja-invite strong { color: #123e6a; }
body .ja-seat.is-mine { border-color: #7eafd2; background: #edf8ff; }
body .ja-seat.is-empty .ja-avatar { background: #e1eff9; border-color: #aecbe0; }
body .ja-pill { color: #2b6285; border-color: #9fc4dc; background: #eff8ff; }
body .ja-room-lead { color: #995118; background: #fff2e1; }
body .ja-result-hero { border-color: #fff; background: radial-gradient(at 50% 0, #fff, #d4ebfc); }
body .ja-result-value { color: #164e7c; font-weight: 900; }
body .ja-result-stats b { color: #b65a0f; }
body .ja-confirm { background: linear-gradient(145deg, #f9fcff, #dceffd); }
body .ja-confirm p { color: #385e7c; }
body .jg-brandbar .ja-launcher { min-height: 44px; background: #17476ad9; border-color: #aecfec77; color: #fff; }

/* Native guide shares the theme, without adding a backdrop to the skiing canvas. */
body #jg-guide { color: var(--jg-navy); background: linear-gradient(135deg, #f5fbff, #dceffd); border-color: #fff; color-scheme: light; }
body #jg-guide .jg-close { color: #224e71; background: #d2e9f8; }
body #jg-guide .jg-guide-over, body #jg-guide .jg-guide-grid h3 { color: #376e95; }
body #jg-guide .jg-guide-grid p, body #jg-guide .jg-guide-tip { color: #355c7c; }
body #jg-guide .jg-guide-grid kbd { color: #153f65; border-color: #a2c3dc; background: #fff; }
body #jg-guide .jg-guide-done { background: #ff852a; color: #082c51; }

@media (max-width: 1100px) {
  body #jg-welcome .jg-welcome-card { width: min(540px, 57vw); }
  body #jg-welcome h1 { font-size: 64px; }
  body #jg-welcome .jg-welcome-stamp { right: 4vw; padding: 13px 18px; }
  body .ja-main { padding: 27px; }
}
@media (max-width: 700px) {
  html.jg-welcoming .jg-brandbar { height: calc(64px + env(safe-area-inset-top, 0px)); padding-inline: max(14px, env(safe-area-inset-left, 0px)); }
  body #jg-welcome { padding: calc(79px + env(safe-area-inset-top, 0px)) max(20px, env(safe-area-inset-right, 0px)) max(25px, env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px)); background-position: center, 80% center; background-image: linear-gradient(180deg, #ecf9ffc9, #eff8ff66 45%, #e2f2ffdb 85%), var(--jg-hero); }
  body #jg-welcome .jg-welcome-card { width: 100%; max-width: 500px; margin-inline: auto; }
  body #jg-welcome .jg-hero-emblem { height: 51px; width: 185px; margin-bottom: -7px; }
  body #jg-welcome h1 { font-size: clamp(44px, 12.5vw, 66px); margin: 14px 0 17px; }
  body #jg-welcome h1 > i { font-size: 12px; letter-spacing: .4em; }
  body #jg-welcome .jg-eyebrow { font-size: 10px; letter-spacing: .025em; }
  body #jg-welcome .jg-intro { font-size: 14px; margin-bottom: 20px; }
  body #jg-start { min-height: 62px; font-size: 21px; border-radius: 23px; }
  body #jg-welcome .jg-gear { gap: 10px; margin-top: 14px; }
  body #jg-welcome .jg-gear button { gap: 8px; min-height: 60px; padding: 9px; }
  body #jg-welcome .jg-gear-copy strong { font-size: 14px; }
  body #jg-welcome .ja-welcome-links { gap: 8px; margin-top: 23px; }
  body #jg-welcome .ja-welcome-links > .ja-button { font-size: 14px; min-height: 124px; padding-inline: 6px; border-radius: 14px; }
  body #jg-welcome .ja-welcome-links > .ja-button::before { height: 65px; margin-inline: -6px; margin-bottom: 8px; }
  body #jg-welcome .ja-welcome-links > .ja-button::after { font-size: 10px; line-height: 1.5; }
  body #jg-welcome .jg-features, body #jg-welcome .jg-welcome-stamp { display: none; }
  body .ja-dialog { width: calc(100% - 16px); height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); border-radius: 19px; }
  body .ja-shell { display: flex; flex-direction: column; }
  body .ja-sidebar { order: 2; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; padding: 8px 5px max(8px, env(safe-area-inset-bottom, 0px)); background: #f7fcfff2; border: 0; border-top: 1px solid #abc9de66; min-height: 67px; }
  body .ja-sidebar .ja-logo, body .ja-sidebar-foot { display: none; }
  body .ja-sidebar .ja-nav { width: 100%; flex-direction: column; justify-content: center; gap: 4px; color: #4a7394; background: transparent; padding: 6px 2px; border-radius: 12px; min-width: 44px; min-height: 48px; }
  body .ja-sidebar .ja-nav.is-current { color: #c15e14; background: #fff0df; border-color: #ffd0a2; box-shadow: none; }
  body .ja-sidebar .ja-nav-icon { color: #557faa; }
  body .ja-sidebar .ja-nav-label { font-size: 10px; line-height: 1.25; white-space: nowrap; }
  body .ja-main { padding: 22px 17px 27px; order: 1; flex: 1; min-height: 0; }
  body .ja-page-header h1 { font-size: 25px; }
  body .ja-hero { padding: 25px 20px; min-height: 230px; background-position: center, 59% center; }
  body .ja-hero h2 { font-size: 28px; }
  body .ja-hero p { max-width: 240px; }
  body .ja-home-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  body .ja-home-card { padding: 15px 10px; min-height: 140px; }
  body .ja-home-card h3 { font-size: 15px; }
  body .ja-home-card p { font-size: 10px; line-height: 1.5; }
  body .ja-home-card .ja-card-arrow { top: 13px; right: 9px; font-size: 16px; }
  body .ja-profile-form, body .ja-panel { padding: 18px; }
  body .ja-avatar-picker { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body .ja-avatar-option { min-height: 52px; }
  body .ja-board-row { padding: 15px 9px; }
  body .ja-user-name { font-size: 11px; }
  body .ja-result-value { font-size: 34px; }
}
@media (max-width: 360px) {
  html.jg-welcoming .jg-brandbar { gap: 8px; padding-inline: max(11px, env(safe-area-inset-left, 0px)); }
  html.jg-welcoming .jg-brandbar b { font-size: 15px; }
  html.jg-welcoming .jg-brandbar .ja-launcher { min-width: 84px; padding-inline: 7px; font-size: 10px; }
  body #jg-welcome { padding-inline: max(16px, env(safe-area-inset-left, 0px)); }
  body #jg-welcome h1 { font-size: 44px; }
  body #jg-welcome .jg-gear button { gap: 6px; }
  body #jg-welcome .jg-gear button > svg { width: 25px; }
  body #jg-welcome .jg-gear-copy strong { font-size: 13px; }
  body #jg-welcome .ja-welcome-links > .ja-button { font-size: 13px; min-height: 123px; }
  body .ja-main { padding-inline: 14px; }
  body .ja-page-header h1 { font-size: 23px; }
  body .ja-sidebar { gap: 2px; padding-inline: 4px; }
  body .ja-home-card { padding-inline: 8px; }
  body .ja-home-card h3 { font-size: 13px; }
  body .ja-home-card .ja-card-arrow { display: none; }
  body .ja-avatar-picker { gap: 7px; }
  body .ja-confirm { padding: 24px 20px; }
  body .ja-confirm .ja-actions { gap: 8px; }
}
@media (max-height: 560px) and (orientation: landscape) {
  body #jg-welcome { padding: calc(74px + env(safe-area-inset-top, 0px)) max(6vw, env(safe-area-inset-right, 0px)) max(22px, env(safe-area-inset-bottom, 0px)); }
  body #jg-welcome .jg-welcome-card { width: min(580px, 76%); margin: 0; }
  body #jg-welcome .jg-hero-emblem, body #jg-welcome .jg-intro, body #jg-welcome .jg-welcome-stamp, body #jg-welcome .jg-features { display: none; }
  body #jg-welcome .jg-eyebrow { margin: 0 0 8px; }
  body #jg-welcome h1 { font-size: 43px; margin: 0 0 15px; }
  body #jg-welcome h1 > i { font-size: 10px; margin-top: 9px; }
  body #jg-welcome .jg-welcome-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; }
  body #jg-start { grid-column: 2; grid-row: 1; min-height: 58px; padding: 8px; font-size: 18px; border-radius: 19px; gap: 10px; }
  body #jg-start > span { font-size: 23px; }
  body #jg-welcome .jg-gear { grid-column: 1; grid-row: 1; margin: 0; gap: 7px; }
  body #jg-welcome .jg-gear button { min-height: 58px; padding: 8px 5px; gap: 5px; }
  body #jg-welcome .jg-gear button > svg { width: 23px; height: 29px; }
  body #jg-welcome .jg-gear-copy strong { font-size: 11px; }
  body #jg-welcome .jg-gear-copy small { font-size: 9px; }
  body #jg-platform-hint { grid-column: 1 / -1; margin: 0; font-size: 10px; }
  body #jg-welcome .ja-welcome-links { margin-top: 16px; gap: 8px; }
  body #jg-welcome .ja-welcome-links > .ja-button { min-height: 105px; font-size: 14px; padding-bottom: 10px; }
  body #jg-welcome .ja-welcome-links > .ja-button::before { height: 48px; margin-bottom: 6px; }
  body #jg-welcome .ja-welcome-links > .ja-button:nth-child(4) { min-height: 44px; }
  body .ja-dialog { width: calc(100% - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)); height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); }
  body .ja-shell { display: grid; grid-template-columns: 124px minmax(0, 1fr); }
  body .ja-sidebar { order: 0; display: flex; flex-direction: column; padding: 14px 8px; border-right: 1px solid #fff2; border-top: 0; background: linear-gradient(165deg, #123e67, #072a4b); gap: 4px; }
  body .ja-sidebar .ja-logo, body .ja-sidebar-foot { display: none; }
  body .ja-sidebar .ja-nav { color: #dcefff; flex: none; flex-direction: row; justify-content: flex-start; text-align: left; min-height: 48px; padding: 8px; }
  body .ja-sidebar .ja-nav.is-current { color: #fff; background: #326a95; border-color: #91bfdf55; }
  body .ja-sidebar .ja-nav-label { font-size: 11px; }
  body .ja-main { order: 0; padding: 21px; }
  body .ja-hero { min-height: 190px; padding: 23px; }
  body .ja-hero h2 { font-size: 28px; }
  body .ja-home-card { min-height: 125px; }
  body .ja-avatar-picker { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  body #jg-start, body #jg-welcome .jg-gear button, body .ja-button { transition: none; }
}
