/* 기존 역명판의 굵은 노선색 테두리·원형 번호·크림색 바탕을 공유한다. */
.mini-nav { display:flex; gap:6px; flex-wrap:wrap; margin:0 0 28px; padding:6px; border:1px solid var(--line-strong); border-radius:12px; background:var(--surface); }
.mini-nav a { flex:1; min-width:120px; padding:10px 8px; border-radius:7px; text-align:center; color:var(--ink-2); font-size:13px; font-weight:750; }
.mini-nav a:hover { background:var(--bg); color:var(--navy); }
.mini-nav a[aria-current="page"] { background:var(--navy); color:#fff; }
.mini-recommendations { margin:28px 0 0; padding:0; text-align:left; }
.mini-recommendations h2 { margin:0 0 12px; font-size:17px; letter-spacing:-.03em; }
.game-done .mini-recommendations h2 { font-size:17px; }
.mini-recommendations--intro { margin:0 0 28px; }
.mini-recommend-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mini-recommend-card { display:flex; align-items:center; gap:12px; padding:17px 13px; border:3px solid var(--mini-color); border-radius:8px; background:var(--surface); color:var(--navy); box-shadow:var(--sh-1); transition:transform .18s,box-shadow .18s; }
.mini-recommend-card:hover { transform:translateY(-2px); box-shadow:var(--sh-2); color:var(--navy); }
.mini-recommend-card>span:nth-child(2) { min-width:0; }
.mini-recommend-card strong { display:block; font-size:15px; line-height:1.4; }
.mini-recommend-card small { display:block; margin-top:5px; font-size:12px; line-height:1.6; color:var(--ink-2); }
.mini-route-badge { display:inline-flex; width:40px; height:40px; flex:none; align-items:center; justify-content:center; border-radius:50%; background:var(--mini-color); color:#fff; font-size:14px; font-weight:850; }
.mini-arrow { margin-left:auto; color:var(--mini-color); font-size:22px; }
.mini-page { max-width:800px; padding-top:32px; padding-bottom:64px; }
.mini-page [hidden] { display:none !important; }
.mini-heading { margin:0 0 26px; }
.mini-kicker { color:var(--mini-color); font-size:12px; font-weight:800; letter-spacing:.04em; }
.mini-heading h1 { margin:8px 0 12px; font-size:clamp(26px,5vw,36px); letter-spacing:-.05em; line-height:1.25; }
.mini-heading p { color:var(--ink-2); font-size:15px; line-height:1.8; }
.mini-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.mini-filters a { padding:9px 18px; border:1px solid var(--line-strong); border-radius:var(--r-pill); background:var(--surface); color:var(--ink-2); font-size:14px; font-weight:750; }
.mini-filters a[aria-current="page"] { background:var(--mini-color); border-color:var(--mini-color); color:#fff; }
.mini-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; color:var(--ink-2); font-size:12px; font-weight:650; }
.mini-toolbar>span { min-width:0; overflow-wrap:anywhere; }
.mini-route-picker { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; margin-bottom:22px; }
.mini-route-picker label { display:flex; flex:1; min-width:160px; flex-direction:column; gap:7px; color:var(--ink-2); font-size:13px; font-weight:750; }
.mini-route-picker select { width:100%; max-width:100%; min-height:46px; padding:10px 30px 10px 12px; border:1px solid var(--line-strong); border-radius:9px; background:var(--surface); color:var(--navy); font:inherit; }
.mini-route-picker .mini-route-go { font-size:12px; padding:12px; white-space:normal; }
.mini-toolbar button { display:flex; align-items:center; gap:6px; padding:8px 10px; flex:none; border:1px solid var(--line-strong); border-radius:8px; background:var(--surface); color:var(--ink-2); cursor:pointer; font:inherit; }
.mini-board { overflow:hidden; padding:0; scroll-margin-top:80px; border:6px solid var(--mini-color); border-radius:12px; background:var(--surface); box-shadow:var(--sh-2); }
.mini-scoreboard { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:20px 10px; background:var(--surface-2); }
.mini-scoreboard>span { padding:0 4px; text-align:center; color:var(--ink-2); font-size:12px; font-weight:650; overflow-wrap:anywhere; }
.mini-scoreboard>span+span { border-left:1px solid var(--line-strong); }
.mini-scoreboard b { display:block; margin-top:6px; color:var(--navy); font-size:27px; font-weight:850; font-variant-numeric:tabular-nums; }
.mini-progress-track { height:5px; background:var(--bg); }
.mini-progress-track i { display:block; width:0; height:100%; background:var(--mini-color); transition:width .15s linear; }
.mini-intro { padding:42px 22px 46px; text-align:center; }
.mini-big-badge { display:inline-flex; width:92px; height:92px; align-items:center; justify-content:center; margin-bottom:24px; border:5px solid var(--mini-color); border-radius:50%; background:var(--mini-color); box-shadow:inset 0 0 0 3px rgba(255,255,255,.3); color:#fff; font-size:32px; font-weight:850; }
.mini-intro h2 { font-size:clamp(19px,4vw,25px); letter-spacing:-.04em; }
.mini-intro p { margin:14px 0 24px; color:var(--ink-2); font-size:14px; line-height:1.85; }
.mini-intro .mini-personal:empty { display:none; }
.mini-page .btn--primary { background:var(--mini-color); border-color:var(--mini-color); }
.mini-page .btn { max-width:100%; white-space:normal; }
.mini-page .btn:focus-visible,.mini-page button:focus-visible,.mini-nav a:focus-visible,.mini-filters a:focus-visible,.mini-recommend-card:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
#miniPlay { padding:0 22px 22px; }
.mini-map-wrap { position:relative; margin:0 -22px 20px; background:var(--surface-2); }
#miniMap { display:block; width:100%; height:280px; }
.mini-map-note { position:absolute; bottom:10px; left:14px; padding:4px 8px; border-radius:5px; background:rgba(255,255,255,.9); color:var(--ink-2); font-size:11px; }
.mini-question { display:flex; min-height:250px; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:26px 4px; }
#miniClue { margin:20px 0; color:var(--mini-color); font-size:clamp(30px,7vw,54px); font-weight:850; line-height:1.4; letter-spacing:.14em; overflow-wrap:anywhere; }
#miniHint { max-width:480px; color:var(--ink-2); font-size:15px; line-height:1.8; }
.mini-form { display:flex; gap:10px; }
.mini-form input { width:100%; min-width:0; height:54px; padding:12px 16px; border:2px solid var(--line-strong); border-radius:10px; background:var(--surface); color:var(--navy); font:inherit; font-size:18px; }
.mini-form input:focus { outline:none; border-color:var(--mini-color); box-shadow:0 0 0 3px color-mix(in srgb,var(--mini-color) 12%,transparent); }
.mini-form button { flex:none; }
.mini-feedback { min-height:22px; margin:10px 0; color:var(--ink-2); font-size:13px; line-height:1.7; }
.mini-feedback[data-state="ok"] { color:#12673e; }
.mini-feedback[data-state="miss"] { color:#b12e23; }
.mini-question-actions { display:flex; justify-content:center; margin-top:10px; }
.mini-found { display:flex; flex-wrap:wrap; gap:7px; max-height:140px; overflow-y:auto; padding:4px 0; }
.mini-found span { border:1px solid var(--line-strong); border-radius:var(--r-pill); padding:5px 11px; font-size:12px; background:var(--bg); }
.mini-result { padding:32px 22px 22px; text-align:center; }
.mini-result h2 { margin:10px 0; font-size:clamp(20px,4vw,27px); letter-spacing:-.04em; }
.mini-result-score { margin:14px 0 8px; color:var(--mini-color); font-size:clamp(26px,6vw,48px); font-weight:850; letter-spacing:-.04em; overflow-wrap:anywhere; }
#miniResultDetail { color:var(--ink-2); font-size:14px; }
.mini-record { margin:14px 0 0; color:var(--mini-color); font-size:14px; font-weight:750; }
.mini-result-actions { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-top:24px; }
.mini-review { margin-top:18px; text-align:left; padding:15px; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface-2); }
.mini-review summary { cursor:pointer; font-size:14px; font-weight:750; }
.mini-review ol { margin:16px 0 0; padding-left:24px; }
.mini-review li { padding:8px 0; font-size:14px; line-height:1.7; }
.mini-review li small { display:block; color:var(--ink-2); }
.mini-result-ad { margin-top:150px; min-height:90px; }
.mini-result-ad>span { display:block; margin-bottom:12px; color:var(--ink-2); font-size:12px; }
.mini-share-text { width:100%; min-height:130px; padding:12px; font:inherit; font-size:13px; border:1px solid var(--line-strong); border-radius:8px; }
.mini-guide { margin-top:30px; padding:0; }
.mini-guide h2 { margin-bottom:12px; font-size:18px; }
.mini-guide p { margin-top:10px; color:var(--ink-2); font-size:14px; line-height:1.9; }
.mini-guide-section { margin-top:24px; }
.mini-guide-section h3 { padding-left:12px; border-left:4px solid var(--mini-color); font-size:17px; line-height:1.5; }
.mini-guide .mini-scope { padding:15px 18px; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface); }
.mini-faq-title { margin:32px 0 14px; font-size:19px; }
.mini-faq { margin-top:10px; padding:16px; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface); }
.mini-faq summary { cursor:pointer; font-size:14px; font-weight:750; }
.mini-article-links { margin:30px 0; padding:20px; border:1px solid var(--line-strong); border-radius:12px; background:var(--surface); }
.mini-article-links h2 { margin-bottom:12px; font-size:18px; }
.mini-article-links ul { margin:0; padding-left:20px; }
.mini-article-links li { margin-top:8px; font-size:14px; line-height:1.8; }
.mini-article-links a:hover { color:var(--mini-color); text-decoration:underline; }
.mini-directory { padding:22px 0 0; border-top:1px solid var(--line-strong); }
.mini-directory h2,.mini-country-intro h2 { margin-bottom:14px; font-size:20px; }
.mini-directory h3 { margin:24px 0 12px; font-size:16px; }
.mini-directory p,.mini-country-intro p,.mini-country-city p { color:var(--ink-2); font-size:14px; line-height:1.9; }
.mini-directory-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.mini-directory-chips a { padding:8px 12px; border:1px solid var(--line-strong); border-radius:8px; background:var(--surface); font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.mini-directory-chips a:hover,.mini-directory-chips a[aria-current="page"] { border-color:var(--mini-color); color:var(--mini-color); }
.mini-station-directory { margin:20px 0; padding:16px; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface); }
.mini-station-directory summary { cursor:pointer; font-size:14px; font-weight:750; }
.mini-station-directory ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 16px; padding:16px 0 0 18px; margin:0; font-size:13px; overflow-wrap:anywhere; }
.mini-country-intro { padding:14px 0 24px; }
.mini-country-intro p+p { margin-top:12px; }
.mini-country-grid { display:grid; gap:18px; }
.mini-country-city { padding:22px; border:3px solid var(--mini-color); border-radius:10px; background:var(--surface); }
.mini-country-city h2 { font-size:22px; margin-bottom:12px; }
.mini-country-city .btn { margin:16px 0; font-size:14px; }
.mini-country-city .mini-directory-chips { margin-bottom:0; }
.mini-topic-examples { margin-top:24px; padding:18px; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface); }
.mini-topic-examples h3 { font-size:17px; }
.mini-topic-examples ul { padding-left:20px; margin:14px 0 0; font-size:14px; line-height:1.8; }
.mini-topic-examples li+li { margin-top:10px; }
@media(max-width:560px) {
  .mini-station-directory ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mini-country-city { padding:16px; }
}
.mini-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:560px) {
  .mini-page { padding-top:20px; }
  .mini-nav { gap:4px; margin-bottom:22px; }
  .mini-nav a { flex:1 1 calc(50% - 4px); min-width:0; font-size:12px; }
  .mini-recommend-grid { grid-template-columns:1fr; }
  .mini-recommend-card { padding:14px; }
  .mini-board { border-width:4px; }
  .mini-scoreboard { padding:16px 4px; }
  .mini-scoreboard b { font-size:23px; }
  .mini-intro { padding:32px 14px; }
  #miniPlay { padding:0 14px 16px; }
  .mini-map-wrap { margin:0 -14px 16px; }
  #miniMap { height:220px; }
  .mini-question { min-height:230px; }
  .mini-result { padding:26px 14px 16px; }
  .mini-filters a { padding:8px 14px; font-size:13px; }
  .mini-route-picker { gap:9px; }
  .mini-route-picker label { min-width:0; flex:1 1 calc(50% - 9px); }
  .mini-route-picker .mini-route-go { width:100%; }
  .mini-form { gap:7px; }
  .mini-form .btn { padding:12px 10px; font-size:13px; }
  .mini-scoreboard b { font-size:clamp(17px,5vw,23px); }
  .mini-result-actions .btn { white-space:normal; }
}
@media(prefers-reduced-motion:reduce) { .mini-recommend-card,.mini-progress-track i { transition:none; } }
@media(max-width:380px) {
  .site-header .header-inner { gap:8px; }
  .site-header .brand { gap:8px; font-size:16px; }
  .site-header .lang-menu summary { padding-inline:10px; }
}
