#v47-guide {
  max-width: 1200px; margin: 32px auto; overflow: hidden; color: #ecf2f5;
  border: 1px solid #be9b62; border-radius: 24px; background: #10273a;
  box-shadow: 0 24px 64px #10273a20; font-family: "Microsoft YaHei", system-ui, sans-serif;
  overflow-wrap: anywhere;
}
#v47-guide * { box-sizing: border-box; }
#v47-guide header { padding: 30px 32px; background: linear-gradient(110deg, #142d44, #22485e); }
#v47-guide h2 { margin: 10px 0; font-size: clamp(24px, 3vw, 36px); }
#v47-guide header p { margin: 0; color: #b9ccd4; }
.v47-eyebrow, .v47-counter { color: #e1c38d; font-size: 12px; letter-spacing: .16em; }
.v47-layout { display: grid; grid-template-columns: minmax(0, 1fr) 210px; }
.v47-stage { padding: 30px; background: radial-gradient(ellipse at top right, #294f66, transparent 65%), #0c2030; }
.v47-route { display: flex; align-items: center; gap: 15px; margin-bottom: 36px; color: #91b6c7; font-size: 10px; letter-spacing: .2em; }
.v47-route i { position: relative; flex: 1; height: 1px; background: #658894; }
.v47-route i::after { content: ''; position: absolute; top: -3px; width: 7px; height: 7px; border-radius: 50%; background: #f0d49d; animation: v47-travel 5s linear infinite; }
.v47-stage h3 { margin: 12px 0 22px; font-size: 34px; }
.v47-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.v47-cards article { padding: 24px; border: 1px solid #7e9daa45; border-radius: 16px; background: #213d50; animation: v47-enter .4s ease-out; }
.v47-cards small { color: #e5c38b; }
.v47-cards h4 { margin: 14px 0; font-size: 20px; }
.v47-cards p { margin: 0; color: #d6e3e9; font-size: 16px; line-height: 1.9; }
.v47-pages { margin-top: 22px; color: #a7c0ce; font-size: 12px; }
#v47-guide nav { display: flex; flex-direction: column; gap: 9px; padding: 26px 16px; background: #112333; }
#v47-guide button { padding: 12px 16px; border: 1px solid #7094a54a; border-radius: 10px; background: transparent; color: #dae6ec; font: inherit; text-align: left; cursor: pointer; }
#v47-guide button[aria-current=true], #v47-guide button[data-action=play], #v47-guide button[data-action=voice][aria-pressed=true] { border-color: #e0c28c; background: #e0c28c; color: #182c3b; }
#v47-guide button:disabled { opacity: .48; cursor: not-allowed; }
#v47-guide button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
#v47-guide footer { padding: 20px 30px; border-top: 1px solid #7895a133; }
.v47-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
#v47-guide footer label { display: flex; align-items: center; gap: 16px; margin-top: 20px; font-size: 12px; }
#v47-guide progress { flex: 1; height: 7px; accent-color: #d8bd86; }
#v47-guide footer p { color: #aec2cd; font-size: 12px; line-height: 1.6; }
#v47-guide footer [role=status][data-mode=speaking] { color: #f0d49d; }
@keyframes v47-travel { from { left: 0; } to { left: calc(100% - 7px); } }
@keyframes v47-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (max-width: 720px) {
  #v47-guide { margin: 20px 12px; border-radius: 18px; }
  .v47-layout { display: flex; flex-direction: column-reverse; }
  #v47-guide nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 14px; }
  #v47-guide nav button { padding: 10px 5px; font-size: 12px; text-align: center; }
  .v47-cards { grid-template-columns: 1fr; }
  .v47-stage, #v47-guide header, #v47-guide footer { padding: 22px; }
  .v47-stage h3 { font-size: 28px; }
  .v47-cards article { padding: 18px; }
  .v47-route { margin-bottom: 25px; }
}
@media (prefers-reduced-motion: reduce) { #v47-guide * { animation: none !important; } }
