.walkthrough-page main { padding: 28px 0 70px; }
.guide-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; color: var(--muted); font-size: 13px; }
.guide-breadcrumbs a:hover { color: var(--cyan); }
.guide-heading { max-width: 950px; margin: 52px 0 36px; }
.guide-heading h1 { font-size: clamp(32px,4.5vw,58px); line-height: 1.12; letter-spacing: -.04em; text-wrap: balance; }
.guide-summary { color: var(--muted); max-width: 780px; font-size: 18px; }
.guide-subtitle { display: block; margin-top: 12px; color: var(--muted); font-size: .58em; line-height: 1.3; letter-spacing: 0; }
.walkthrough-player { position: relative; aspect-ratio: 16 / 9; min-height: 200px; overflow: hidden; border-radius: 20px; border: 1px solid var(--line); background: #000; }
.walkthrough-player iframe { width: 100%; height: 100%; position: absolute; inset: 0; border: 0; }
.guide-video-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0 20px; }
.watch-youtube { max-width: 100%; text-align: center; }
.walkthrough-preview { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); gap: 32px; margin-top: 28px; align-items: start; }
.walkthrough-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.walkthrough-section-heading .button { flex-shrink: 0; }
.game-walkthroughs h2 { font-size: clamp(32px,4vw,52px); text-wrap: balance; }
.walkthrough-section-heading p { color: var(--muted); }
.walkthrough-preview-list { display: grid; gap: 10px; }
.walkthrough-card { display: flex; gap: 16px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); transition: border-color .2s; }
.walkthrough-card:hover, .walkthrough-card:focus-visible { border-color: var(--cyan); }
.walkthrough-card strong { display: block; font-size: 15px; line-height: 1.4; }
.walkthrough-card small { color: var(--muted); font-size: 12px; }
.walkthrough-card > span:last-child { margin-left: auto; }
.level-number { color: #ffd36a; font-size: 24px; font-weight: 800; min-width: 40px; }
.guide-directory-intro { padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: var(--panel); }
.guide-directory-intro h2, .guide-steps h2, .guide-tips h2, .guide-back h2, .guide-level-group h2 { font-size: 26px; line-height: 1.2; letter-spacing: -.02em; }
.guide-directory-intro p { color: var(--muted); }
.guide-directory-intro label { display: block; margin-bottom: 8px; }
.guide-directory-intro input { width: 100%; padding: 12px 16px; color: var(--text); background: var(--bg); border: 1px solid var(--line); border-radius: 10px; }
.guide-jump-links { display: flex; gap: 8px; flex-wrap: wrap; }
.guide-jump-links a { padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; }
.guide-level-group { margin-top: 42px; scroll-margin-top: 96px; }
.guide-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 20px; }
.guide-content { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 36px; align-items: start; }
.guide-steps, .guide-tips { margin-top: 32px; }
.guide-steps ol { padding-left: 28px; }
.guide-steps li { margin: 18px 0; padding-left: 6px; line-height: 1.8; }
.guide-steps li::marker { color: #ffd36a; font-weight: 800; }
.guide-tips { border-left: 3px solid var(--cyan); padding: 8px 24px; background: rgba(8,191,252,.04); }
.guide-tips p, .solution-panel p, .guide-back p { color: var(--muted); }
.solution-panel, .guide-back { padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: var(--panel); }
.solution-panel summary { cursor: pointer; font-weight: 800; }
.solution-panel p { font-size: 13px; }
.solution-grid { display: grid; grid-template-columns: repeat(var(--board-size),minmax(0,1fr)); gap: 2px; }
.solution-cell, .grid-label { display: grid; place-items: center; aspect-ratio: 1; font-size: clamp(10px,1vw,14px); }
.solution-cell { background: var(--cell-color); color: #18233a; border-radius: 2px; font-weight: 800; }
.grid-label { color: var(--muted); }
.guide-back { margin-top: 20px; }
.guide-directory-side { min-width: 0; }
.guide-store-links { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 26px; }
.guide-store-link { display: inline-flex; width: 168px; line-height: 0; transition: transform .2s ease; }
.guide-store-link:hover, .guide-store-link:focus-visible { transform: translateY(-2px); }
.guide-store-link img { display: block; width: 168px; height: auto; }
/* Preserve official artwork; compensate for its supplied transparent margins
   so vertically stacked badge faces have the same visible 168px width. */
.guide-store-link--google-play-en img { width: 192.426px; max-width: none; margin: -12.213px; }
.guide-store-link--google-play-zh-cn img { margin-block: -7.542px; }
.guide-download-qr { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.guide-download-qr > p { margin: 0 0 12px; font-size: 14px; }
.guide-qr-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; max-width: 280px; }
.guide-qr-item { display: grid; justify-items: center; gap: 8px; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 12px; }
.guide-qr-item:hover, .guide-qr-item:focus-visible { border-color: var(--cyan); }
.guide-qr-code { display: grid; place-items: center; width: 100%; max-width: 112px; aspect-ratio: 1; background: #fff; color: #18233a; font-size: 12px; text-align: center; }
.guide-qr-code svg { display: block; width: 100%; height: 100%; }
.guide-qr-item strong { font-size: 12px; }
@media(max-width:760px) { .guide-download-qr { display: none; } }
.guide-neighbors { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--line); }
[hidden] { display: none !important; }
@media(max-width:900px) { .walkthrough-preview, .guide-content { grid-template-columns: 1fr; } .guide-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .walkthrough-section-heading { flex-direction: column; align-items: start; } .solution-grid { max-width: 440px; } .solution-cell, .grid-label { font-size: 14px; } }
@media(max-width:520px) { .guide-card-grid { grid-template-columns: 1fr; } .guide-heading { margin-top: 32px; } .guide-summary { font-size: 16px; } .walkthrough-player { border-radius: 12px; } .walkthrough-card { padding: 14px; } .guide-directory-intro, .solution-panel, .guide-back { padding: 20px; } }
