.lg-mon .ss-art { display: block; width: 250px; height: auto; }
:root { --ss-normal: #c8c3b6; --ss-fighting: #f2a477; --ss-flying: #b9cdf7; --ss-poison: #d3a6e8; --ss-ground: #e8c98e;
  --ss-rock: #d6c58f; --ss-bug: #c7da7c; --ss-ghost: #b7a6dc; --ss-steel: #b9cbd8; --ss-fire: #f7a982; --ss-water: #97c2f2;
  --ss-grass: #a7dc95; --ss-electric: #f6dc78; --ss-psychic: #f7a8c7; --ss-ice: #a9e4ec; --ss-dragon: #aba4f2;
  --ss-dark: #a99c94; --ss-fairy: #f6bde6; }
.ss-powers { margin: 0 0 14px; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.ss-powers li { display: grid; gap: 4px; padding: 14px 16px; border: 3px solid #fff; border-radius: 18px; color: var(--stk-plum);
  background: var(--stk-pink) var(--stk-print); }
.ss-powers li:nth-child(2) { background-color: var(--stk-lilac); }
.ss-powers li:nth-child(3) { background-color: var(--stk-blush); }
.ss-powers b { font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: 1.3rem; line-height: 1.1; }
.ss-powers span { font-size: .88rem; font-weight: 700; }
.ss-rule { display: grid; gap: 12px; padding: 20px 22px; border: 4px solid #fff; border-radius: 22px; background: var(--stk-note);
  box-shadow: 0 14px 30px rgba(0,0,0,.42); }
.ss-rule p { margin: 0; font-size: 1rem; line-height: 1.55; }
.ss-rule-herba { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ss-rule-herba img { width: 44px; height: 44px; object-fit: contain; padding: 4px; border-radius: 12px; background: #fff; }
.ss-plus { margin: 0 6px; font-size: 1.6rem; font-weight: 800; color: var(--stk-pink); }
.ss-no { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 14px; background: rgba(255,255,255,.07); }
.ss-no img { flex: none; width: 30px; height: 30px; object-fit: contain; filter: grayscale(.4); }
.ss-small { font-size: .9rem !important; }
.ss-rule a { color: var(--stk-pink); font-weight: 800; }
.ss-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.ss-card { display: grid; gap: 10px; align-content: start; padding: 0 0 14px; overflow: hidden; border: 3px solid #fff; border-radius: 18px;
  color: var(--stk-plum); background: #fff7fd; box-shadow: 0 10px 22px rgba(0,0,0,.35); }
.ss-top { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--tc) var(--stk-print); }
.ss-top img { width: 25px; height: 30px; object-fit: contain; filter: drop-shadow(0 2px 3px rgba(43,29,74,.35)); }
.ss-top h3 { margin: 0; font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: 1.4rem; line-height: 1; }
.ss-row { display: grid; grid-template-columns: 92px 1fr; align-items: center; gap: 8px; padding: 0 14px; }
.ss-lbl { font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; opacity: .7; }
.ss-list { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.ss-list li { padding: 3px 11px; border-radius: 999px; font-size: .9rem; background: var(--tc); }
.ss-herba { display: flex; align-items: center; gap: 6px; font-size: .82rem; font-weight: 700; }
.ss-herba img { width: 26px; height: 26px; object-fit: contain; }
@media (max-width: 760px) {
  .lg-mon .ss-art { width: 150px; }
  .ss-powers { grid-template-columns: 1fr; }
  .ss-rule { padding: 16px; }
}
.ss-figure { margin: 6px 0 16px; overflow: hidden; border: 4px solid #fff; border-radius: 22px; box-shadow: 0 14px 30px rgba(0,0,0,.42); }
.ss-figure img { display: block; width: 100%; height: auto; }
.ss-figure figcaption { padding: 14px 16px 16px; background: var(--stk-note); }
.ss-stack { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.ss-boost { display: grid; gap: 6px; align-content: start; padding: 16px; border: 3px solid #fff; border-radius: 18px; color: var(--stk-plum);
  background: var(--stk-lilac) var(--stk-print); }
.ss-boost:nth-child(2) { background-color: var(--stk-pink); }
.ss-boost:nth-child(3) { background-color: var(--stk-blush); }
.ss-n { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--stk-plum); color: #fff; font-weight: 800; }
.ss-boost b { font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: 1.3rem; line-height: 1.1; }
.ss-boost p { margin: 0; font-size: .9rem; font-weight: 600; line-height: 1.45; }
.ss-ladder { display: grid; gap: 8px; margin: 18px 0; }
.ss-step { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 18px; border-radius: 16px;
  background: rgba(255,255,255,.07); border: 2px solid rgba(255,255,255,.12); font-weight: 700; }
.ss-step b { font-variant-numeric: tabular-nums; font-size: 1.05rem; color: var(--stk-pink); white-space: nowrap; }
.ss-step.ss-best { border-color: #fff; background: var(--stk-pink) var(--stk-print); color: var(--stk-plum); }
.ss-step.ss-best b { color: var(--stk-plum); font-size: 1.2rem; }
.ss-tips { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.ss-tips li { position: relative; padding-left: 26px; line-height: 1.55; }
.ss-tips li::before { content: "\2661"; position: absolute; left: 0; color: var(--stk-pink); font-weight: 800; }
@media (max-width: 760px) { .ss-stack { grid-template-columns: 1fr; } .ss-step { padding: 10px 14px; font-size: .92rem; } }
