.sidebar-study-entry { gap:14px; }
.nav-item.game-nav-entry {
  border-color:#b49cff5c;
  border-left:4px solid #b49cff;
  background:linear-gradient(120deg,#2a2440,#172735);
  box-shadow:0 14px 34px #9a7be13d;
}
.nav-item.game-nav-entry .nav-icon {
  border-color:#b49cffaa;
  color:#d6c7ff;
  background:#9a7be124;
  box-shadow:0 0 22px #9a7be14d;
}
.nav-item.game-nav-entry:hover,
.nav-item.game-nav-entry.is-active {
  border-color:#b49cff;
  background:linear-gradient(120deg,#2a2440,#172735);
  box-shadow:0 18px 42px #9a7be15c;
  transform:translateY(-2px);
}
.game-nav-entry strong { color:#f3eaff; }
.game-nav-entry small { color:#b3b7ce; }
@media (max-width:899px) { .game-nav-entry { display:none; } }
.summit-game-shell { --game-left:44%; --game-bar:64px; position:fixed; inset:0; z-index:100; color:#f2f5ff; font-family:Outfit,"Noto Sans SC",sans-serif; pointer-events:none; }
.summit-game-shell button { cursor:pointer; font:inherit; }
.game-bar { position:absolute; inset:0 0 auto; height:var(--game-bar); display:flex; align-items:center; justify-content:space-between; padding:0 28px; background:#10182a; border-bottom:1px solid #ffffff16; pointer-events:auto; z-index:4; }
.game-brand { display:flex; align-items:center; gap:12px; }
.game-brand > span { font-size:32px; color:#b6f3d5; }
.game-brand strong { display:block; font-size:17px; letter-spacing:.06em; }
.game-brand small { display:block; margin-top:4px; font-size:9px; letter-spacing:.22em; color:#7f9da9; }
.game-bar-actions { display:flex; gap:9px; align-items:center; }
.game-bar button { border:1px solid #ffffff1c; background:#ffffff08; color:#d7e1ee; padding:9px 14px; border-radius:10px; font-size:13px; }
.game-bar button:hover { background:#ffffff18; }
.game-bar .game-exit { color:#d1f4e3; border-color:#9fdcbe45; margin-left:8px; }
.game-world { position:absolute; top:var(--game-bar); bottom:0; left:0; width:var(--game-left); overflow:hidden; background:#abc7cd; pointer-events:auto; }
.game-mountain { position:absolute; inset:0; }
.game-mountain canvas { display:block; width:100%; height:100%; touch-action:none; }
.game-world::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,#122c454d 0%,transparent 27%,transparent 58%,#0b2239e8 100%); }
.game-world-top { position:absolute; top:26px; left:30px; z-index:2; pointer-events:none; text-shadow:0 2px 12px #0b223970; }
.game-mode-badge { pointer-events:auto; color:white; cursor:pointer; display:inline-block; font-size:10px; letter-spacing:.15em; border:1px solid #ffffff6b; background:#15384a40; padding:6px 10px; border-radius:100px; }
.game-world-top h1 { margin:12px 0 6px; font-size:clamp(26px,2.4vw,44px); letter-spacing:.13em; color:white; font-weight:600; }
.game-world-top p { font-size:12px; color:#f4ffff; margin:0; }
.game-world-bottom { position:absolute; inset:auto 30px 25px; z-index:2; pointer-events:none; }
.game-trail-tag { display:flex; align-items:center; gap:9px; color:#d3f6e5; font-size:12px; letter-spacing:.1em; }
.game-trail-tag i { width:6px; height:6px; border-radius:50%; background:#acffca; box-shadow:0 0 12px #a1ffbb; }
.game-stats { margin-top:18px; display:flex; gap:clamp(20px,4vw,70px); }
.game-stats > div { display:grid; gap:5px; }
.game-stats strong { font-size:clamp(24px,2.7vw,42px); line-height:1; color:#fff; font-weight:500; font-variant-numeric:tabular-nums; }
.game-stats span { font-size:11px; color:#bbceda; }
.game-journey-line { height:3px; margin-top:19px; border-radius:4px; background:#ffffff26; }
.game-journey-line span { display:block; height:100%; width:0; background:#b1f6d1; box-shadow:0 0 8px #b1f6d166; transition:width .7s; }
.game-quiet-note { margin:11px 0 0; color:#c4d4db; font-size:11px; letter-spacing:.08em; }
.game-study-caption { position:absolute; top:var(--game-bar); left:var(--game-left); right:0; height:64px; padding:10px 26px; display:grid; grid-template-columns:1fr auto; align-content:center; gap:8px; background:var(--panel-strong); border-bottom:1px solid var(--line); pointer-events:auto; }
.game-study-caption > span { color:var(--accent-strong); letter-spacing:.08em; font-size:12px; }
.game-study-caption strong { color:var(--ink); font-size:12px; font-weight:400; }
.game-study-caption small { grid-column:1/-1; color:var(--muted); font-size:11px; }
.game-loading { position:absolute; top:42%; left:10%; right:10%; padding:22px; text-align:center; background:#14273de8; border:1px solid #d1eef333; border-radius:16px; z-index:5; }
.game-loading[hidden],.game-bubble[hidden],.game-notice[hidden] { display:none; }
.game-loading button { display:block; margin:14px auto 0; padding:10px 18px; border:0; border-radius:8px; background:#b8efd2; color:#132c2c; }
.game-bubble { position:absolute; top:38%; left:50%; transform:translate(-50%,-100%); padding:12px 19px; border-radius:16px 16px 16px 4px; background:#fffdf4; box-shadow:0 8px 25px #152b3b35; color:#203b3e; font-size:16px; font-weight:600; white-space:nowrap; z-index:3; pointer-events:none; }
.game-notice { position:absolute; top:85px; left:50%; transform:translateX(-50%); max-width:80%; background:#fff8df; color:#3e3828; padding:12px 22px; border-radius:12px; box-shadow:0 6px 30px #0003; z-index:9; }
.game-demo-controls { position:absolute; bottom:190px; left:30px; z-index:6; font-size:11px; color:#fff; background:#102638b8; border:1px solid #ffffff30; border-radius:9px; padding:9px 12px; }
.game-demo-controls summary { cursor:pointer; }
.game-demo-controls div { display:flex; gap:5px; margin:10px 0; }
.game-demo-controls button { background:#ffffff20; border:1px solid #ffffff35; border-radius:6px; color:white; padding:8px; }
.game-demo-controls small { color:#c0d6dc; }
.game-avatar-dialog { pointer-events:auto; width:360px; border:1px solid #748fb166; border-radius:22px; background:#172238; color:#eff5ff; padding:28px; box-shadow:0 20px 100px #0007; }
.game-avatar-dialog::backdrop { background:#050e20a3; backdrop-filter:blur(5px); }
.game-avatar-dialog h2 { margin:8px 0; }
.game-avatar-dialog p { color:#c0ccdc; font-size:13px; }
.game-avatar-dialog button { padding:12px 18px; background:#ffffff0a; color:#edf5ff; border:1px solid #ffffff30; border-radius:10px; }
.game-avatar-dialog .game-dialog-close { position:absolute; right:14px; top:10px; padding:2px 9px; font-size:25px; border:0; background:none; }
.game-gender-picker { display:flex; gap:12px; margin:22px 0; }
.game-gender-picker button { flex:1; }
.game-gender-picker button[aria-pressed="true"] { background:#b3e9d2; color:#143637; border-color:#b3e9d2; }
.game-avatar-note { margin-top:22px; }
/* Share learning components and theme tokens; adapt spacing and type to the game pane. */
body.is-summit-game { overflow:hidden; --game-left:44%; }
body.is-summit-game .sidebar,
body.is-summit-game .workspace-toolbar { display:none; }
body.is-summit-game .app-shell { display:block; }
body.is-summit-game .content { position:fixed; top:128px; bottom:0; left:var(--game-left); right:0; width:auto; height:auto; min-height:0; max-width:none; margin:0; padding:0; overflow:auto; background:var(--body-bg); border-left:1px solid var(--line); z-index:101; scrollbar-width:thin; }
body.is-summit-game .content > .panel { margin:0; padding:0; min-height:0; }
body.is-summit-game .panel-header,
body.is-summit-game .panel-feedback-btn,
body.is-summit-game .side-panel,
body.is-summit-game .word-immersive-toggle,
body.is-summit-game .word-list-panel,
body.is-summit-game .daily-goal-card { display:none !important; }
body.is-summit-game .word-stage,
body.is-summit-game .translation-stage { display:block; margin:0; padding:0; width:100%; }
body.is-summit-game .word-card,
body.is-summit-game .translate-card { display:flex; flex-direction:column; justify-content:center; position:relative; inset:auto; min-height:calc(100dvh - 128px); width:100%; max-width:1120px; border:0; border-radius:0; box-shadow:none; background:transparent; margin:0 auto; padding:clamp(24px,3vw,54px); }
body.is-summit-game .word-card > *,
body.is-summit-game .translate-card > * { flex-shrink:0; }
body.is-summit-game .translation-prompt { font-size:clamp(26px,1.65vw,36px); line-height:1.6; margin-top:20px; }
body.is-summit-game .slot,
body.is-summit-game .word-block,
body.is-summit-game .answer-punctuation { font-size:clamp(21px,1.25vw,28px); }
body.is-summit-game .word-topline h2 { font-size:clamp(48px,3.4vw,78px); }
body.is-summit-game #wordMeaningInline { font-size:clamp(28px,1.7vw,38px); }
body.is-summit-game .example-item .en { font-size:clamp(20px,1.3vw,28px); line-height:1.6; }
body.is-summit-game .example-item .zh,
body.is-summit-game .meaning-context p { font-size:clamp(16px,1vw,20px); line-height:1.65; }
body.is-summit-game .word-key-guide { font-size:13px; }
body.is-summit-game .translate-actions button,
body.is-summit-game .card-actions button { font-size:clamp(16px,1vw,19px); }
body.is-summit-game .answer-tip,
body.is-summit-game .translation-feedback { font-size:clamp(14px,.95vw,18px); line-height:1.6; }
body.is-summit-game .translation-heading { gap:12px; }
body.is-summit-game .translation-heading-actions { width:100%; }
body.is-summit-game .translate-actions { margin-top:26px; }
body.is-summit-game .translation-heading { --translation-toggle-clearance:0px; flex-wrap:wrap; }
body.is-summit-game .translation-heading-actions { flex-wrap:wrap; }
body.is-summit-game .word-key-guide { flex-wrap:wrap; }
body.is-summit-game .translate-actions { flex-wrap:wrap; }
body.is-summit-game .word-topline h2 { overflow-wrap:anywhere; }
body.is-summit-game .card-actions { flex-wrap:wrap; }
body.is-summit-game .summit-scene-labels { position:absolute; inset:0; pointer-events:none; }
body.is-summit-game .summit-person-label { position:absolute; left:0; top:0; border:1px solid #ffffff66; border-radius:100px; padding:5px 11px; background:#173448c9; color:#fff; font:500 11px Outfit,"Noto Sans SC",sans-serif; white-space:nowrap; pointer-events:none; box-shadow:0 3px 12px #0002; }
body.is-summit-game .summit-person-label.is-self { color:#163b36; background:#d7f7df; border-color:#d7f7df; font-size:12px; font-weight:600; }
body.is-summit-game .summit-camp-label { display:none; }
body.is-summit-game dialog { z-index:300; }
body.is-summit-game .auth-view { z-index:350; }
body.is-summit-game button:focus-visible { outline:2px solid #c0f5db; outline-offset:4px; }
@media (max-width:1440px) {
  body.is-summit-game,.summit-game-shell { --game-left:40%; }
  .game-bar { padding:0 18px; }
  .game-world-top { left:22px; }
  .game-world-bottom { left:22px; right:22px; }
  .game-bar button { padding:8px 11px; }
  body.is-summit-game .word-card,body.is-summit-game .translate-card { padding:24px; }
}
@media (max-height:760px) {
  .game-world-bottom { bottom:18px; }
  .game-stats { margin-top:12px; }
  .game-stats strong { font-size:28px; }
  .game-demo-controls { bottom:165px; }
  body.is-summit-game .word-card,body.is-summit-game .translate-card { padding:20px 24px; }
  body.is-summit-game .word-topline { gap:12px; }
  body.is-summit-game .word-topline h2 { font-size:clamp(46px,3.4vw,64px); }
}
@media (prefers-reduced-motion:reduce) {
  .game-journey-line span { transition:none; }
}

body[data-theme="light"] .game-bar { background:var(--panel-strong); color:var(--ink); border-color:var(--line); }
body[data-theme="light"] .game-bar button { color:var(--ink); background:var(--secondary-bg); border-color:var(--secondary-border); }
body[data-theme="light"] .game-brand > span { color:var(--accent-strong); }
body[data-theme="light"] .game-brand small { color:var(--muted); }
