.fm-board{display:block;min-width:0}.fm-hero{padding:28px;background:#eff6ff;border:1px solid #dbeafe;border-radius:20px;margin-bottom:20px}.fm-eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:#2563eb}.fm-hero h2{font-size:26px;letter-spacing:-1px;margin:10px 0}.fm-hero p{color:#475569;font-size:14px;line-height:1.7}.fm-period{font-size:12px;color:#64748b;line-height:1.7}.fm-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.fm-toolbar label{font-size:12px;color:#475569}.fm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:16px}.fm-card{border:1px solid #e2e8f0;border-radius:16px;padding:22px;background:white;min-width:0}.fm-card h3{font-size:20px;margin:12px 0 8px;overflow-wrap:anywhere}.fm-tag{font-size:11px;color:#2563eb;background:#eff6ff;border-radius:6px;padding:5px 7px}.fm-growth{font-size:27px;color:#2563eb}.fm-card svg{display:block;width:100%;height:95px;margin-top:16px}.fm-axis{display:flex;justify-content:space-between;color:#94a3b8;font-size:11px}.fm-card p{font-size:12px;line-height:1.6;color:#64748b;min-height:38px}.fm-card button{width:100%}.fm-empty{padding:36px 20px;text-align:center;border:1px dashed #cbd5e1;border-radius:16px;color:#64748b}.fm-notice{background:#fffbeb;color:#92400e;padding:14px;border-radius:10px;font-size:13px;line-height:1.6}.fm-method{margin-top:24px;color:#64748b;font-size:12px;line-height:1.8}.fm-method summary{cursor:pointer;font-weight:700}@media(max-width:600px){.fm-hero{padding:20px}.fm-hero h2{font-size:23px}.fm-grid{grid-template-columns:1fr}}
.fm-board{color:#191f28}.fm-hero{background:#f2f6fc;border:0;padding:32px;border-radius:24px}.fm-hero h2{font-size:30px;line-height:1.4;letter-spacing:-1.2px;font-weight:750;margin:12px 0}.fm-hero p{color:#4e5968}.fm-period{margin-top:18px;color:#596779}.fm-toolbar{margin-top:28px}.fm-toolbar strong{font-size:18px}.fm-toolbar strong span{color:#3182f6;margin-left:6px}.fm-toolbar label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;cursor:pointer}.fm-toolbar input{width:18px;height:18px;accent-color:#3182f6}.fm-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:18px}.fm-card{display:flex;flex-direction:column;padding:24px;border-color:#edf0f3;border-radius:22px;box-shadow:0 2px 8px #191f2805}.fm-tag{align-self:flex-start;font-size:12px;font-weight:600}.fm-card h3{font-size:23px;letter-spacing:-.6px;margin:18px 0}.fm-growth-label{font-size:12px;color:#6b7684;margin-bottom:5px}.fm-growth{font-size:32px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.fm-card p{font-size:13px;margin:18px 0;line-height:1.7}.fm-card .sb-btn{min-height:46px;border-radius:12px;font-weight:650;margin-top:auto}.fm-card-muted .fm-growth{color:#6b7684;font-size:25px}.fm-card-muted .fm-tag{background:#f2f4f6;color:#4e5968}.fm-text-button{font:inherit;font-size:13px;color:#596779;background:none;border:0;padding:10px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.fm-method{padding:20px;background:#f7f8fa;border-radius:16px;font-size:13px;color:#596779}.fm-method summary{min-height:24px;color:#4e5968}.fm-empty{grid-column:1/-1;background:#f7f8fa;border:0;padding:48px 24px;line-height:1.7}.fm-empty h3{color:#333d4b}.fm-board button:focus-visible,.fm-board input:focus-visible,.fm-method summary:focus-visible{outline:3px solid #3182f6;outline-offset:4px}.fm-axis{color:#6b7684}@media(max-width:600px){.fm-hero{padding:24px}.fm-hero h2{font-size:25px}.fm-grid{grid-template-columns:1fr}.fm-card{padding:22px}.fm-toolbar{align-items:flex-start;gap:4px}.fm-toolbar label{width:100%}}
.sb-layout.scout-analysis{grid-template-columns:minmax(0,1fr)}.scout-nav{display:flex;gap:8px;margin-bottom:18px;border-bottom:1px solid #e5e8eb}.scout-nav button{flex:1;min-height:52px;border:0;border-bottom:3px solid transparent;background:none;font:inherit;font-weight:700;color:#6b7684;cursor:pointer}.scout-nav button.on{color:#2563eb;border-bottom-color:#2563eb}.scout-nav button:focus-visible{outline:3px solid #3182f6;outline-offset:-3px}#sb-modes [hidden],#scout-all-changes[hidden],.sb-side[hidden]{display:none!important}.fm-axis{line-height:1.7;font-variant-numeric:tabular-nums}.fm-axis span:last-child{text-align:right}
/* 관심이 오른 걸 봤으면 바로 팔 데를 볼 수 있어야 한다. 새 탭으로 열어 보던 화면을 잃지 않게. */
.fm-links{display:flex;gap:8px;margin-top:18px}
.fm-links a{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;border:1px solid #e5e8eb;border-radius:12px;background:#fff;color:#4e5968;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.fm-links a:hover{background:#f7f8fa;border-color:#dce1e6}
.fm-links a:focus-visible{outline:3px solid #3182f6;outline-offset:2px}
.fm-card p{margin:16px 0}

/* 지표 필터 — 누르면 몇 개가 남는지 숫자를 같이 둔다. */
.fm-filters{display:flex;flex-direction:column;gap:10px;margin:14px 0 4px}
.fm-filter-row{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:2px}
.fm-filter-label{flex:0 0 auto;font-size:12px;font-weight:700;color:#8b95a1;width:40px}
.fm-filter-row button{flex:0 0 auto;min-height:40px;padding:8px 14px;border:1px solid #e5e8eb;border-radius:999px;background:#fff;font:inherit;font-size:13px;color:#4e5968;cursor:pointer}
.fm-filter-row button span{font-size:12px;color:#8b95a1;margin-left:4px}
.fm-filter-row button[aria-pressed=true]{background:#eaf2ff;border-color:#c9dcfa;color:#2459bc;font-weight:700}
.fm-filter-row button[aria-pressed=true] span{color:#2459bc}
.fm-filter-row button:disabled{opacity:.45;cursor:default}
.fm-filter-row button:focus-visible{outline:3px solid #3182f6;outline-offset:2px}

/* 품절·확인 필요도 열어볼 수 있게. 다만 '지금 살 수 있는 것'과 같은 파랑은 아니다. */
.fm-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fm-stock{flex:0 0 auto;font-size:12px;font-weight:700;padding:5px 9px;border-radius:7px;color:#4e5968;background:#f2f4f6}
.fm-stock.available{color:#2459bc;background:#eaf2ff}
.fm-card .sb-btn.fm-soft{background:#eaf2ff;border:1px solid #c9dcfa;color:#2459bc}
.fm-card .sb-btn.fm-soft:hover{background:#dbeafe}
.fm-none{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:auto;border-radius:12px;background:#f2f4f6;color:#6b7684;font-size:13px}
@media(max-width:600px){.fm-filter-label{width:auto}}
.fm-volume{margin-top:8px;font-size:12px;color:#6b7684}
.fm-volume b{color:#333d4b;font-weight:700;font-variant-numeric:tabular-nums}

/* 불러오는 중 — 글자 한 줄만 두면 멈춘 건지 받는 중인지 구별이 안 된다.
   점이 움직이고, 카드가 들어올 자리를 미리 깔아둔다. */
.fm-loading{padding:4px 0}
.fm-loading-top{display:flex;align-items:center;gap:10px;font-size:15px;color:#333d4b}
.fm-loading p{margin:10px 0 20px;font-size:13px;color:#6b7684;line-height:1.7}
.fm-spin{flex:0 0 auto;width:18px;height:18px;border:2.5px solid #dbe3ef;border-top-color:#3182f6;border-radius:50%;animation:fm-spin .8s linear infinite}
.fm-dots{display:inline-flex;gap:3px;margin-left:3px;vertical-align:baseline}
.fm-dots i{width:3px;height:3px;border-radius:50%;background:#3182f6;animation:fm-dot 1.4s ease-in-out infinite}
.fm-dots i:nth-child(2){animation-delay:.2s}
.fm-dots i:nth-child(3){animation-delay:.4s}
@keyframes fm-spin{to{transform:rotate(360deg)}}
@keyframes fm-dot{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.fm-card.fm-skel{gap:0;pointer-events:none}
.fm-skel span{display:block;border-radius:7px;background:linear-gradient(90deg,#f2f4f6 25%,#e9edf2 37%,#f2f4f6 63%);background-size:400% 100%;animation:fm-pulse 1.4s ease-in-out infinite}
.fm-skel .a{width:56px;height:20px}
.fm-skel .b{width:64%;height:24px;margin-top:18px}
.fm-skel .c{width:44%;height:32px;margin-top:14px}
.fm-skel .d{height:95px;margin-top:16px}
@keyframes fm-pulse{0%{background-position:100% 50%}100%{background-position:0 50%}}
@media(prefers-reduced-motion:reduce){
  .fm-spin,.fm-dots i,.fm-skel span{animation:none}
  .fm-spin{border-top-color:#dbe3ef}
}
/* 시즌 뱃지 — 예전 '시즌 전망' 탭이 카드 한 줄로 접힌 것 */
.fm-peak{align-self:flex-start;margin-top:8px;padding:4px 8px;border-radius:7px;font-size:11.5px;font-weight:700;color:#7a5c12;background:#fdf6e3}
.fm-peak.act{color:#2459bc;background:#eaf2ff}

/* ── 화면 맨 위 ──────────────────────────────────────────────
   파란 상자와 설명 문단은 걷어냈다. 제목 한 줄과 기간 탭만 남긴다. */
.fm-title{font-size:30px;line-height:1.35;letter-spacing:-1.2px;font-weight:750;margin:0 0 18px;color:#191f28}
.scout-season-tabs.fm-spans{margin:0 0 18px;gap:10px}
.scout-season-tabs.fm-spans button{min-height:54px;padding:13px 28px;border-radius:14px;font-size:17px;font-weight:650}
.scout-season-tabs.fm-spans button span{font-size:14px;margin-left:7px;color:#8b95a1}
.scout-season-tabs.fm-spans button[aria-pressed=true] span{color:#2459bc}
.fm-period{margin:0;font-size:13.5px;color:#8b95a1;font-variant-numeric:tabular-nums}
.fm-toolbar strong{font-size:19px}

/* ── 글자 크기 ────────────────────────────────────────────────
   칩 글씨가 작아서 눈이 먼저 안 간다. 한 단계씩 올린다. */
.fm-filter-label{font-size:14px;width:44px;color:#6b7684}
.fm-filter-row button{min-height:46px;padding:9px 17px;font-size:15px}
.fm-filter-row button span{font-size:14px;margin-left:5px}
.fm-filters{gap:12px;margin:16px 0 6px}
.fm-card h3{font-size:24px}
.fm-tag{font-size:13px}
.fm-stock{font-size:13px}
.fm-growth-label{font-size:13.5px}
.fm-volume{font-size:13.5px}
.fm-peak{font-size:13px;padding:5px 10px}
.fm-links a{font-size:13.5px}
.fm-text-button{font-size:14px}
.fm-method{font-size:13.5px}
@media(max-width:600px){
  .fm-title{font-size:25px}
  .scout-season-tabs.fm-spans button{min-height:52px;padding:13px 20px;font-size:16px}
  .fm-toolbar{flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px}
}

/* ── 비회원 미리보기 ──────────────────────────────────────── */
.fm-lock{grid-column:1/-1;position:relative}
.fm-lock-blur{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:18px;
  filter:blur(6px);opacity:.6;pointer-events:none;user-select:none;max-height:360px;overflow:hidden}
.fm-lock-cta{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:10px;text-align:center;padding:24px 20px;
  background:linear-gradient(180deg,rgba(247,248,250,.35) 0%,#f7f8fa 46%,#f7f8fa 100%)}
.fm-lock-cta b{font-size:19px;letter-spacing:-.4px;color:#191f28}
.fm-lock-cta p{margin:0;font-size:14px;line-height:1.6;color:#4e5968}
.fm-lock-cta .sb-kakao{min-height:48px;padding:0 22px;font-size:15px}
@media(max-width:600px){.fm-lock-blur{max-height:290px}.fm-lock-cta b{font-size:17px}}

/* ── 정리 2026-09-19 ────────────────────────────────────────
   기간 탭은 셋으로 나눠 폭을 꽉 채우고, 카드 아래 버튼들은 한 덩이로 묶어
   카드마다 같은 자리에 오게 한다. 들쭉날쭉한 버튼 줄이 화면을 어지럽혔다. */
.scout-season-tabs.fm-spans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;overflow:visible}
.scout-season-tabs.fm-spans button{width:100%;justify-content:center}

/* 정렬 — 거르는 칸이 아니라 줄 세우는 기준이다. 오른쪽 위에 둔다. */
.fm-toolbar{align-items:center}
.fm-sorts{display:flex;gap:8px;flex-wrap:wrap}
.fm-sorts button{min-height:44px;padding:8px 15px;border:1px solid #e5e8eb;border-radius:999px;
  background:#fff;font:inherit;font-size:14.5px;color:#4e5968;cursor:pointer;
  font-variant-numeric:tabular-nums}
.fm-sorts button[aria-pressed=true]{background:#eaf2ff;border-color:#c9dcfa;color:#2459bc;font-weight:700}
.fm-sorts button:focus-visible{outline:3px solid #3182f6;outline-offset:2px}

/* 카드 아래 버튼 묶음 — 카드 높이가 달라도 바닥선이 맞는다 */
.fm-actions{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:9px}
.fm-card .sb-btn{margin-top:0}
.fm-links{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}
.fm-links a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 10px;
  border:1px solid #e5e8eb;border-radius:12px;background:#fff;color:#4e5968;
  font-size:14.5px;font-weight:600;text-decoration:none}
.fm-links a:hover{border-color:#3182f6;color:#3182f6}
.fm-card .sb-btn,.fm-card .fm-none{min-height:46px;display:flex;align-items:center;justify-content:center}
.fm-none{border-radius:12px;background:#f7f8fa;color:#8b95a1;font-size:14px;text-align:center}

/* 비교 기간은 표 아래 한 줄로 */
.fm-period{margin:2px 0 0}
