.rail-column { display: flex; flex-direction: column; align-self: stretch; gap: 0.75rem; flex: 0 0 300px; width: 300px; max-width: 100%; padding-top: 0.75rem; }
/* Multi-language rail packs (languageRailsMarkup): unwrap like admin .site-chrome-slot so column gap separates the cards. */
.language-sides { display: contents; }
.rail-list { margin: 0; padding: 0.7rem 0.9rem; border: 1px solid #ddd2c2; border-radius: 0.4rem; font-family: "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; font-size: 13px; line-height: 1.45; }
.rail-list h2 { margin: 0 0 0.35rem; font-size: 0.95rem; font-weight: 700; line-height: 1.35; }
.rail-list ol { margin: 0; padding-left: 1.2rem; list-style: decimal; }
.rail-list li { margin: 0.12rem 0; overflow-wrap: anywhere; }
.rail-list p { margin: 0; color: #6b5e51; }
.rail-list a, .rail-list a:visited, .rail-list a:active { color: #00a3c4; text-decoration: none; }
.rail-list a:hover { text-decoration: underline; }
.rank-window { height: 1.45em; overflow: hidden; }
.rank-window ul { margin: 0; padding: 0; list-style: none; }
.rank-window li { display: flex; align-items: baseline; gap: 0.4rem; height: 1.45em; margin: 0; overflow: hidden; list-style: none; }
.rank-place { flex: 0 0 2.2rem; color: #6b5e51; }
.rank-name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rail-count { margin-left: auto; flex: 0 0 auto; white-space: nowrap; }
.rank-roll ul { animation: rank-rise calc(var(--rank-count) * 2.2s) steps(var(--rank-count), jump-none) infinite; }
.rank-roll:hover .rank-window, .rank-roll:focus-within .rank-window { height: auto; overflow: visible; }
.rank-roll:hover ul, .rank-roll:focus-within ul { animation: none; transform: none; }
@keyframes rank-rise { from { transform: translateY(0); } to { transform: translateY(calc((var(--rank-count) - 1) * -1.45em)); } }
.rail-plate { display: flex; position: sticky; top: 1rem; flex: 0 0 auto; width: 300px; max-width: 100%; height: 600px; align-items: center; justify-content: center; border: 2px dashed #8d8376; background: #e7e2d8; }
.rail-plate img { display: block; height: 3.6rem; width: auto; max-width: calc(100% - 2rem); opacity: 0.2; }
.rail-plate .adsbygoogle { display: block; width: 100%; height: 100%; max-width: 100%; opacity: 1; }
.mobile-plate { display: none; }
.home-plate { display: none; }
@media (max-width: 72rem) {
  .rail-column { display: none; }
  .mobile-plate { display: flex; align-items: center; justify-content: center; width: 300px; max-width: 100%; height: 250px; margin: 1rem 0; border: 2px dashed #8d8376; background: #e7e2d8; }
  .mobile-plate img { display: block; height: 2.5rem; width: auto; max-width: calc(100% - 2rem); }
  .mobile-plate .ad-slot-placeholder { opacity: 0.2; }
  .mobile-plate .adsbygoogle { display: block; width: 100%; height: 100%; max-width: 100%; }
  .home-plate { display: block; }
}
@media (max-width: 640px) {
  .rail-column { width: 100%; flex: 1 1 100%; }
  .rail-plate { width: 100%; }
}
