/* 게임랜드 화면 다듬기 (2026-10-02 사장님 승인 시안: 미션 목록 · 입장 · 역사어드벤처 탭)
   화면 모양만 바꾼다 — 이용권·관리자 확인·저장 키·게임 순서는 그대로다.
   결: 바탕 #f7f6f2 · 먹색 #1f2a2e · 청록 #17675e · 주황 #e8642c · 선 #e4e2da · 회색 글 #66706f · 제목 Jua */

.gl-ui-icon,.game-type-icon{display:block;flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* ───────────── 1. 장소 놀이터 (미션 목록) ───────────── */
html:has(body.gameland-tour-list),body.gameland-tour-list,body.gameland-tour-list .app-shell{background:#f7f6f2}
body.gameland-tour-list .app-shell::before,body.gameland-tour-list .app-shell::after{display:none}
body.gameland-tour-list .section-row{display:none!important}
body.gameland-tour-list .content{padding:0 16px calc(96px + env(safe-area-inset-bottom))!important}

/* 머리: 뒤로 · 장소 이름 · 장소 지도 */
body.gameland-tour-list .topbar.gameland-topbar{min-height:60px;padding:8px 12px!important;gap:8px;border-bottom:1px solid #e4e2da}
body.gameland-tour-list .topbar.gameland-topbar .icon-btn{width:44px;height:44px;background:transparent!important;color:#1f2a2e}
.gameland-topbar-title{flex:1 1 auto;min-width:0;font-size:16px;font-weight:700;color:#1f2a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.gameland-tour-list .gameland-topbar-title~div:not([class]):not([id]){display:none}
.gameland-topbar-map{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid #e4e2da;border-radius:22px;background:#fff;color:#1f2a2e;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.gameland-topbar-map .gl-ui-icon{width:15px;height:15px;color:#17675e}
.gameland-topbar-map:hover{border-color:#17675e}
.gameland-topbar-map:focus-visible,body.gameland-tour-list .topbar.gameland-topbar .icon-btn:focus-visible{outline:3px solid #e8642c;outline-offset:2px}
.gameland-topbar-map[hidden],body:not(.gameland-tour-list) #gamelandTopTitle,body:not(.gameland-tour-list) #gamelandTopMap{display:none!important}
@media(max-width:600px){
  /* 로고만 뺀다 — 로그인은 휴대폰에서도 남긴다(역사카드 모으기는 회원 계정) */
  body.gameland-tour-list .topbar.gameland-topbar .museum-brand{display:none!important}
  body.gameland-tour-list .topbar.gameland-topbar .museum-account-link{min-height:44px;padding:0 10px!important;font-size:12px!important;white-space:nowrap;flex:none!important;width:auto!important}
}
@media(max-width:430px){
  /* 좁으면 「장소 지도」는 지도 그림만 (이름은 aria-label) */
  body.gameland-tour-list #gamelandTopMap{width:44px;min-width:44px;padding:0!important;justify-content:center}   /* 지도 그림을 동그라미 가운데에 (10/2) */
  body.gameland-tour-list #gamelandTopMap span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* 표지: 사진 + 진행 고리, 제목은 사진 아래 (사진 위에 글자를 겹치지 않는다 — test-gameland-tour-header) */
body.gameland-tour-list #heroCard.gameland-tour-hero{display:block!important;position:relative;margin:14px 16px 0!important;padding:0!important;min-height:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible}
body.gameland-tour-list #heroCard.gameland-tour-hero>img{display:block;width:100%!important;height:176px!important;max-height:none;aspect-ratio:auto;border-radius:16px!important;object-fit:cover;object-position:center 45%;background:#2f3d50}
body.gameland-tour-list #heroCard.gameland-tour-hero .hero-shade{display:block!important;position:absolute;inset:0 0 auto 0;height:176px;border-radius:16px;background:linear-gradient(270deg,rgba(15,25,28,.66) 0%,rgba(15,25,28,.28) 34%,rgba(15,25,28,0) 60%)!important;pointer-events:none;z-index:1}
body.gameland-tour-list #heroCard.gameland-tour-hero .hero-content{position:static!important;display:flex;flex-direction:column;gap:4px!important;padding:14px 2px 0!important;background:transparent!important;color:#1f2a2e}
body.gameland-tour-list #heroCard.gameland-tour-hero .eyebrow{color:#c4511c;font-size:12px;font-weight:700;line-height:1.5}
body.gameland-tour-list #heroCard.gameland-tour-hero .hero-title{margin:0;font-family:Jua,'Noto Sans KR',sans-serif;font-weight:400;font-size:30px!important;line-height:1.15!important;letter-spacing:0;color:#1f2a2e}
body.gameland-tour-list #heroCard.gameland-tour-hero .hero-desc{display:block!important;font-size:13px!important;line-height:1.55!important;color:#66706f!important}
body.gameland-tour-list #heroCard.gameland-tour-hero .hero-actions{display:block!important;margin-top:10px!important}
body.gameland-tour-list #heroCard.gameland-tour-hero .hero-actions:empty{display:none!important}
body.gameland-tour-list #heroCard.gameland-tour-hero .hero-stats{position:absolute;top:44px;right:16px;z-index:2;display:block!important;margin:0;padding:0;background:none;border:0}
.hero-progress-ring{width:88px;height:88px;border-radius:50%;background:conic-gradient(#e8642c 0 var(--ring,0deg),rgba(255,255,255,.28) var(--ring,0deg) 360deg);display:grid;place-items:center}
.hero-progress-ring>span{width:70px;height:70px;border-radius:50%;background:rgba(15,25,28,.86);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.hero-progress-ring b{font-size:22px;font-weight:800;line-height:1;white-space:nowrap}
.hero-progress-ring b small{font-size:13px;font-weight:500}
.hero-progress-ring em{margin-top:3px;font-style:normal;font-size:11px;color:rgba(255,255,255,.78)}

/* 「다음 미션」 카드 = 표지 시작 단추 (#heroContinueBtn — 한 줄 규칙은 fitHeroCta 가 지킨다) */
body.gameland-tour-list #heroCard.gameland-tour-hero .hero-cta.hero-next-card{display:grid!important;grid-template-columns:64px minmax(0,1fr) 44px;align-items:center;gap:12px!important;width:100%!important;min-height:88px!important;padding:12px!important;border:0!important;border-radius:14px!important;background:#17675e!important;color:#fff!important;text-align:left;white-space:nowrap;font-size:16px!important;font-weight:700;line-height:1.35;cursor:pointer}
body.gameland-tour-list #heroCard .hero-next-card:hover{filter:brightness(.95)}
body.gameland-tour-list #heroCard .hero-next-card:focus-visible{outline:3px solid #e8642c!important;outline-offset:2px}
body.gameland-tour-list #heroCard .hero-next-card>.list-thumb{position:relative;display:block;width:64px!important;height:64px!important;min-height:0!important;border-radius:10px!important;overflow:hidden;background:#0f4b44!important;box-shadow:none!important}
.hero-next-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.hero-next-text small{font-size:12px;font-weight:700;color:#bfe6df;overflow:hidden;text-overflow:ellipsis}
body.gameland-tour-list #heroCard .hero-next-card .hero-cta-label{display:block;min-width:0;font-size:16px;font-weight:700;overflow:hidden}
body.gameland-tour-list #heroCard .hero-next-card .hero-cta-label.is-tight{font-size:14px}
.hero-next-play{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#17675e}
body.gameland-tour-list #heroCard .hero-next-play .tour-ui-icon{width:20px;height:20px;fill:currentColor;stroke:currentColor;stroke-width:1.4;margin-left:2px}

/* 썸네일: 그림이 없거나 늦게 뜰 때 깔리는 칸 = 게임 종류 색 칸 + 선 아이콘 */
.list-thumb .game-thumb-art{display:grid!important;place-items:center;background:var(--tile-bg,#e2f0e4)!important;background-image:none!important;color:var(--tile-ink,#2f7a3f);transform:none!important}
.list-thumb .game-thumb-art .game-type-icon{width:50%;height:50%;max-width:30px;max-height:30px;stroke-width:2}
.game-thumb-art[data-family=logic],.mission-type-tile[data-family=logic]{--tile-bg:#e2f0e4;--tile-ink:#2f7a3f}
.game-thumb-art[data-family=story]{--tile-bg:#dcefed;--tile-ink:#17675e}
.game-thumb-art[data-family=artifact]{--tile-bg:#fde7da;--tile-ink:#c4511c}
.game-thumb-art[data-family=action]{--tile-bg:#ece6f7;--tile-ink:#6a4bb0}
.game-thumb-art[data-family=explore]{--tile-bg:#f6ecd2;--tile-ink:#94650f}
body.gameland-tour-list #gameArea .list-thumb::before,body.gameland-tour-list #heroCard .list-thumb::before{display:none!important}
body.gameland-tour-list #gameArea .list-thumb .game-thumb-image,body.gameland-tour-list #heroCard .list-thumb .game-thumb-image{object-fit:cover!important;transform:none!important}
@media(hover:hover){body.gameland-tour-list .mission-card:hover .game-thumb-image,body.gameland-tour-list .mission-card:hover .game-thumb-art{transform:none!important}}

/* 단계 칩 줄 */
body.gameland-tour-list #gameArea.stack{gap:0}
body.gameland-tour-list #gameArea .mission-stage-chips{display:flex;justify-content:flex-start;align-items:center;gap:8px;margin:18px -16px 0!important;padding:0 16px 2px!important;border:0;background:none;overflow-x:auto;scrollbar-width:none;scroll-padding-inline:16px;-webkit-overflow-scrolling:touch}
body.gameland-tour-list #gameArea .mission-stage-chips::-webkit-scrollbar{display:none}
.mission-stage-chip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid #e4e2da;border-radius:22px;background:#fff;color:#1f2a2e;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.mission-stage-chip span{font-size:11px;font-weight:600;color:#66706f}
.mission-stage-chip.is-done span{color:#17675e}
.mission-stage-chip.is-current{background:#1f2a2e;border-color:#1f2a2e;color:#fff}
.mission-stage-chip.is-current span{color:rgba(255,255,255,.8)}
.mission-stage-chip:hover{border-color:#17675e}
.mission-stage-chip:focus-visible{outline:3px solid #e8642c;outline-offset:2px}

/* 단계 묶음 */
body.gameland-tour-list .mission-stage{margin-top:20px;scroll-margin-top:72px}
body.gameland-tour-list .mission-stage-head{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:15px;font-weight:700;color:#1f2a2e!important}
body.gameland-tour-list .mission-stage-head::after{display:none}
body.gameland-tour-list .mission-stage-dot{width:8px;height:8px;border-radius:50%}
body.gameland-tour-list .mission-stage-head[data-stage=W]{--stage:#c68a1a}
body.gameland-tour-list .mission-stage-head[data-stage=H]{--stage:#17675e}
body.gameland-tour-list .mission-stage-head[data-stage=M]{--stage:#c4511c}
body.gameland-tour-list .mission-stage-head[data-stage=T]{--stage:#2f6fa8}
body.gameland-tour-list .mission-stage-head[data-stage=R]{--stage:#2f7a3f}
body.gameland-tour-list .mission-stage-head[data-stage=C]{--stage:#6a4bb0}
.mission-stage-count{margin-left:auto;font-size:12px;font-weight:500;color:#66706f}
.mission-stage-head.is-done .mission-stage-count{color:#17675e;font-weight:700}
body.gameland-tour-list .mission-stage-list{display:flex;flex-direction:column;gap:8px}

/* 한 줄 = 누르는 곳 하나 (「도전」 알약 없음, 오른쪽 화살표) */
body.gameland-tour-list #gameArea .list-card.mission-card:not(.mission-practice-pack){display:grid!important;grid-template-columns:56px minmax(0,1fr) auto!important;align-items:center!important;column-gap:12px!important;row-gap:0!important;min-height:76px;margin:0!important;padding:10px 12px!important;border:1px solid #e4e2da!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;color:#1f2a2e;cursor:pointer;transform:none!important}
body.gameland-tour-list #gameArea .list-card::before{display:none!important}
body.gameland-tour-list #gameArea .list-card.mission-card:not(.mission-practice-pack):hover{border-color:#17675e!important}
body.gameland-tour-list #gameArea .list-card.mission-card:focus-visible{outline:3px solid #e8642c;outline-offset:2px}
body.gameland-tour-list #gameArea .mission-card:not(.mission-practice-pack)>.list-thumb{grid-column:1!important;grid-row:1!important;align-self:center!important;position:relative;width:56px!important;height:56px!important;min-height:0!important;border-radius:10px!important;overflow:hidden;box-shadow:none!important}
body.gameland-tour-list #gameArea .mission-card:not(.mission-practice-pack)>.list-info{grid-column:2!important;grid-row:1!important;align-self:center!important;display:block;min-width:0}
body.gameland-tour-list #gameArea .mission-card:not(.mission-practice-pack)>.list-topline{grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:end!important;margin:0!important;display:flex}
body.gameland-tour-list #gameArea .mission-card .list-title{font-size:15px;font-weight:700;line-height:1.35;letter-spacing:0;color:#1f2a2e}
body.gameland-tour-list #gameArea .mission-card .list-desc{margin-top:2px;font-size:12px;line-height:1.45;color:#66706f;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all}
.mission-next-note{margin-top:2px;font-size:12px;font-weight:700;color:#c4511c}
body.gameland-tour-list #gameArea .mission-card.mission-card-next{border:2px solid #e8642c!important;padding:9px 11px!important;box-shadow:none!important}
body.gameland-tour-list #gameArea .mission-card-action{display:flex;align-items:center;margin-left:auto}
body.gameland-tour-list #gameArea .gl-ui-chevron{color:#9aa3a1}
body.gameland-tour-list #gameArea .mission-card-next .gl-ui-chevron,body.gameland-tour-list #gameArea .mission-practice-action.is-next>.gl-ui-chevron{color:#e8642c}
body.gameland-tour-list #gameArea .mission-stars{display:flex;align-items:center;gap:1px;margin-top:4px}
body.gameland-tour-list #gameArea .mission-stars .ms{font-size:15px;color:#e2dfd5}
body.gameland-tour-list #gameArea .mission-stars .ms.fill{color:#e8a317}
.mission-stars-score{margin-left:5px;font-size:12px;color:#66706f}
body.gameland-tour-list #gameArea .mission-score-note,.mission-lock-note{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:#17675e;white-space:nowrap}
body.gameland-tour-list #gameArea .mission-score-note .gl-ui-icon,.mission-lock-note .gl-ui-icon{width:14px;height:14px}
.mission-lock-note{color:#66706f}
body.gameland-tour-list #gameArea .mission-card.locked{opacity:.62;cursor:default}

/* 복습 훈련 묶음 — 한 상자 안 줄 목록 */
body.gameland-tour-list #gameArea .list-card.mission-practice-pack{display:block!important;margin:0!important;padding:12px!important;border:1px solid #e4e2da!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;transform:none!important}
body.gameland-tour-list #gameArea .mission-practice-head{display:grid!important;grid-template-columns:40px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;margin:0!important;padding:0!important}
body.gameland-tour-list #gameArea .mission-practice-head>.list-thumb{grid-column:1!important;grid-row:1!important;display:grid!important;place-items:center;width:40px!important;height:40px!important;min-height:0!important;border-radius:10px!important;background:var(--tile-bg)!important;color:var(--tile-ink);box-shadow:none!important}
body.gameland-tour-list #gameArea .mission-practice-head>.list-thumb .gl-ui-icon{width:22px;height:22px;stroke-width:2}
body.gameland-tour-list #gameArea .mission-practice-head>.list-info{grid-column:2!important;grid-row:1!important;align-self:center!important}
body.gameland-tour-list #gameArea .mission-practice-head>.list-topline{grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:end!important;margin:0!important}
body.gameland-tour-list #gameArea .mission-practice-head .list-title{font-size:15px;font-weight:700;color:#1f2a2e}
.mission-practice-count{font-size:12px;color:#66706f}
body.gameland-tour-list #gameArea .mission-practice-actions{display:flex!important;flex-direction:column;gap:0!important;margin:8px 0 0!important;padding:0!important}
body.gameland-tour-list #gameArea .mission-practice-action{display:grid!important;grid-template-columns:36px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;min-height:52px!important;margin:0!important;padding:8px 2px!important;border:0!important;border-top:1px solid #efede6!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#1f2a2e;text-align:left;transform:none!important;cursor:pointer}
body.gameland-tour-list #gameArea .mission-practice-action:focus-visible{outline:3px solid #e8642c;outline-offset:2px;border-radius:8px!important}
body.gameland-tour-list #gameArea .mission-practice-action>.list-thumb{grid-column:1!important;grid-row:1!important;position:relative;width:36px!important;height:36px!important;min-height:0!important;border-radius:8px!important;overflow:hidden}
body.gameland-tour-list #gameArea .mission-practice-action b{grid-column:2!important;display:flex;flex-direction:column;font-size:14px;font-weight:500;line-height:1.4;color:#1f2a2e}
body.gameland-tour-list #gameArea .mission-practice-action b .mission-next-note{display:block;margin-top:1px}
body.gameland-tour-list #gameArea .mission-practice-action:not(.done):not(:disabled) em{display:none!important}
body.gameland-tour-list #gameArea .mission-practice-action em{grid-column:3!important;padding:0!important;border:0!important;background:none!important;color:#17675e!important;font-style:normal;font-size:11px;font-weight:700;gap:3px}
body.gameland-tour-list #gameArea .mission-practice-action:disabled em{color:#66706f!important}
body.gameland-tour-list #gameArea .mission-practice-action>.gl-ui-chevron{grid-column:3;grid-row:1;width:16px;height:16px}

/* 장소 지도(접힌 칸)와 맨 아래 작은 링크 */
body.gameland-tour-list #gameArea .gameland-map-fold{margin-top:20px;border:1px solid #e4e2da;border-radius:12px;background:#fff;scroll-margin-top:72px}
body.gameland-tour-list #gameArea .gameland-map-fold>summary{min-height:52px;font-size:15px;font-weight:700;color:#1f2a2e}
.mission-list-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;margin:20px 0 4px;font-size:13px;color:#66706f}
#gf-place-slot:not(:empty)::after{content:'·';margin:0 6px;color:#9aa3a1}
.mission-list-foot #gf-place{min-height:44px;margin:0;padding:0 4px;border:0;border-radius:6px;background:none;color:#66706f;font-size:13px;font-weight:500;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.mission-list-foot .game-image-credits{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;font-size:13px;color:#66706f}
.mission-list-foot #gf-place:hover,.mission-list-foot .game-image-credits:hover{color:#17675e}

/* 넓은 화면: 표지는 사진|글 두 칸, 목록은 두 칸 */
@media(min-width:900px){
  body.gameland-tour-list:not(.gameland-playing) .app-shell{max-width:1040px}
  body.gameland-tour-list:not(.gameland-playing) .bottom-nav{max-width:1040px}
  body.gameland-tour-list .content{padding:0 24px calc(96px + env(safe-area-inset-bottom))!important}
  body.gameland-tour-list #heroCard.gameland-tour-hero{display:grid!important;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:28px;align-items:center;margin:20px 24px 0!important}
  body.gameland-tour-list #heroCard.gameland-tour-hero>img{height:280px!important}
  body.gameland-tour-list #heroCard.gameland-tour-hero .hero-shade{width:min(560px,100%);height:280px}
  body.gameland-tour-list #heroCard.gameland-tour-hero .hero-content{padding:0!important}
  body.gameland-tour-list #heroCard.gameland-tour-hero .hero-title{font-size:36px!important}
  body.gameland-tour-list #heroCard.gameland-tour-hero .hero-stats{top:96px;right:auto;left:calc(min(560px,100%) - 108px)}
  body.gameland-tour-list #gameArea .mission-stage-chips{margin:28px 0 0!important;padding:0!important;flex-wrap:wrap;overflow:visible}
  body.gameland-tour-list .mission-stage{margin-top:26px}
  body.gameland-tour-list .mission-stage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
  body.gameland-tour-list .mission-stage-list>.mission-practice-pack{grid-row:span 2}
}

/* ───────────── 2. 게임랜드 입장 (로그인 전 첫 화면) ───────────── */
html.gameland-hub-first,html.gameland-hub-first body,html.gameland-hub-first .app-shell{background:#f7f6f2}
html.gameland-hub-first .app-shell::before,html.gameland-hub-first .app-shell::after{display:none}

/* 얇은 알약 전환 띠 — 글자만 */
.gameland-entry-react-shell .history-entry-switch.is-text-only,
html.museum-account-ui .gameland-entry-react-shell .history-entry-switch.is-text-only,
.gameland-public-intro nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0!important;height:52px;margin:0 0 20px!important;padding:4px!important;border:0!important;border-radius:26px!important;background:#ebe9e2!important;box-sizing:border-box}
.gameland-entry-react-shell .history-entry-switch.is-text-only button,
html.museum-account-ui .gameland-entry-react-shell .history-entry-switch.is-text-only button,
.gameland-public-intro nav a{display:flex!important;align-items:center;justify-content:center;min-height:44px!important;height:44px;padding:0 8px!important;border:0!important;border-radius:22px!important;background:transparent!important;box-shadow:none!important;color:#66706f!important;font:inherit;font-size:14px!important;font-weight:700!important;text-decoration:none;cursor:pointer}
.gameland-entry-react-shell .history-entry-switch.is-text-only button[aria-selected=true],
html.museum-account-ui .gameland-entry-react-shell .history-entry-switch.is-text-only button[aria-selected=true],
.gameland-public-intro nav a[aria-current]{background:#fff!important;color:#e8642c!important;box-shadow:0 1px 3px rgba(0,0,0,.1)!important}
.gameland-entry-react-shell .history-entry-switch.is-text-only .history-entry-label{display:block!important;text-align:center}
.gameland-entry-react-shell .history-entry-switch.is-text-only .history-entry-label strong{font-size:14px;font-weight:700;color:inherit}
.gameland-entry-react-shell .history-entry-switch.is-text-only button:focus-visible{outline:3px solid #e8642c!important;outline-offset:2px}

/* 셸: 틀 없이 바탕 위에 */
.gameland-entry-react-shell{width:min(100%,440px)!important;margin:12px auto max(28px,env(safe-area-inset-bottom))!important;padding:0 16px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#1f2a2e}
body.gameland-entry-react-active .content{padding:0 0 calc(96px + env(safe-area-inset-bottom))!important}

/* 짧은 머리 + 작은 사진 두 장 */
.gameland-entry-service-banner.is-compact,.gameland-public-intro .gameland-static-banner{position:relative;display:flex!important;align-items:center;gap:14px;min-height:0!important;margin:0 4px 20px!important;padding:0!important;overflow:visible!important;border-radius:0!important;background:none!important;color:#1f2a2e!important}
.gameland-entry-service-banner.is-compact::after{display:none!important}
.gameland-entry-service-banner.is-compact .gameland-entry-service-banner-copy,.gameland-public-intro .gameland-static-banner-copy{flex:1;min-width:0;width:auto!important;padding:0!important;background:none!important}
.gameland-entry-service-banner.is-compact h1,.gameland-public-intro .gameland-static-banner-copy h1{margin:0!important;font-size:12px!important;font-weight:700!important;line-height:1.5!important;letter-spacing:0;color:#c4511c!important}
.gameland-entry-banner-lead,.gameland-public-intro .gameland-static-lead{margin:4px 0 0!important;font-family:Jua,'Noto Sans KR',sans-serif!important;font-weight:400!important;font-size:30px!important;line-height:1.15!important;color:#1f2a2e!important;word-break:keep-all}
.gameland-entry-banner-photos,.gameland-public-intro .gameland-static-photos{position:relative;flex:none;width:112px;height:112px}
.gameland-entry-banner-photos img,.gameland-public-intro .gameland-static-photos img{position:absolute!important;inset:auto!important;width:80px!important;height:80px!important;object-fit:cover;border:3px solid #fff;border-radius:14px;box-shadow:0 4px 10px rgba(0,0,0,.12);box-sizing:border-box}
.gameland-entry-banner-photos img:first-child,.gameland-public-intro .gameland-static-photos img:first-child{right:0!important;top:0!important;transform:rotate(6deg)}
.gameland-entry-banner-photos img:last-child,.gameland-public-intro .gameland-static-photos img:last-child{left:0!important;bottom:0!important;width:76px!important;height:76px!important;transform:rotate(-5deg)}

/* 입장 카드 */
.gameland-entry-card{padding:20px;border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(31,42,46,.07)}
.gameland-entry-react-shell .gameland-entry-card .gameland-entry-heading{display:block;padding:0 0 16px}
.gameland-entry-card .gameland-entry-heading h2{margin:0;font-size:18px;font-weight:700;line-height:1.4;color:#1f2a2e}
.gameland-entry-card .gameland-entry-heading p{margin:4px 0 0;font-size:13px;line-height:1.55;color:#66706f}
.gameland-entry-card .gameland-entry-form{gap:14px}
.gameland-entry-card .gameland-entry-form label>span{font-size:13px;font-weight:700;color:#1f2a2e}
.gameland-entry-card .gameland-entry-form input:not([type=checkbox]){min-height:52px;padding:0 14px;border:1.5px solid #d8d5cb;border-radius:12px;font-size:16px;color:#1f2a2e}
.gameland-entry-card .gameland-entry-form input:not([type=checkbox]):focus{border-color:#17675e;outline:3px solid rgba(232,100,44,.25)}
.gameland-entry-card .gameland-entry-primary{min-height:56px;margin-top:4px;border-radius:14px;background:#e8642c;font-size:17px;font-weight:700}
.gameland-entry-card .gameland-entry-primary:hover{filter:brightness(.95)}
.gameland-entry-card .gameland-entry-primary:focus-visible{outline:3px solid #e8642c;outline-offset:2px}
.gameland-entry-card .gameland-entry-primary[disabled]{background:#e4e2da;color:#66706f}
.gameland-entry-card .gameland-entry-form label.gameland-entry-keep input{accent-color:#e8642c}

/* 정적 첫 화면(React 가 뜨기 전)도 같은 모양 — 자리 이동 없이 이어지게 */
.gameland-public-intro{width:min(100%,440px)!important;max-width:440px;margin:12px auto!important;padding:0 16px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#1f2a2e}
.gameland-public-intro>p{margin:0 4px;font-size:13px;color:#66706f}

@media(min-width:900px){
  .gameland-entry-react-shell:not(.has-results){margin-top:28px!important}
  .gameland-entry-banner-lead,.gameland-public-intro .gameland-static-lead{font-size:34px!important}
}

/* ───────────── 3. 게임랜드 안 역사어드벤처 탭 ───────────── */
/* 허브를 감싸던 틀(테두리·그림자·둥근 모서리)과, 화면 처음에 잡히는 초점 테두리(검은 틀)를 없앤다 */
html.history-adventure-mode,html.history-adventure-mode body,html.history-adventure-mode .app-shell{background:#faf9f6}
html.history-adventure-mode .app-shell::before,html.history-adventure-mode .app-shell::after{display:none}
html.history-adventure-mode .history-adventure-inline{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#faf9f6!important;overflow:visible}
html.history-adventure-mode #historyAdventureMain:focus{outline:none}
html.history-adventure-mode #historyAdventureMain:focus-visible{outline:none}
html.history-adventure-mode body.adventure-inline-active .content{padding:0!important}
html.history-adventure-mode .history-adventure-inline #historyAdventureInlineSwitch{padding:12px 16px 0!important;background:transparent!important}
/* 전환 띠: 글자만 (허브 안의 그림 아이콘은 그대로 둔다) */
html.history-adventure-mode #historyAdventureInlineSwitch .history-entry-switch{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0!important;height:52px;margin:0!important;padding:4px!important;border:0!important;border-radius:26px!important;background:#ebe9e2!important;box-sizing:border-box}
html.history-adventure-mode #historyAdventureInlineSwitch .history-entry-switch button{display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;min-height:44px!important;height:44px;padding:0 8px!important;border:0!important;border-radius:22px!important;background:transparent!important;box-shadow:none!important;color:#66706f!important;font:inherit;font-size:14px!important;font-weight:700!important;cursor:pointer}
html.history-adventure-mode #historyAdventureInlineSwitch .history-entry-switch button[aria-selected=true]{background:#fff!important;color:#284b40!important;box-shadow:0 1px 3px rgba(0,0,0,.1)!important}
html.history-adventure-mode #historyAdventureInlineSwitch .history-entry-switch :is(img,.museum-service-icon,.ms,small){display:none!important}
html.history-adventure-mode #historyAdventureInlineSwitch .history-entry-switch :is(.history-entry-label,span){display:block!important;text-align:center}
html.history-adventure-mode #historyAdventureInlineSwitch .history-entry-switch strong{font-size:14px;font-weight:700;color:inherit}
html.history-adventure-mode #historyAdventureInlineSwitch .history-entry-switch button:focus-visible{outline:3px solid #987440!important;outline-offset:2px}
@media(min-width:701px){html.history-adventure-mode #historyAdventureInlineSwitch .history-entry-switch{max-width:440px;margin:0 auto!important}}

/* 머리 높이는 글꼴과 상관없이 늘 같게 (2026-10-02) — Jua 가 늦게 오면(구글 글꼴, media=print 로 뒤에 붙음) 좁은 화면에서
   「게임으로 다시」가 한 줄 더 꺾여 머리가 커지고, 아래 장소 목록이 통째로 밀렸다(test-gameland-session 스크롤 자리 검사가 맥 크롬에서 걸림).
   두 줄을 꺾이지 않게 두고 크기를 화면 폭에 맞추며, 머리 높이를 사진 묶음(112px)에 고정한다. */
.gameland-entry-service-banner.is-compact,.gameland-public-intro .gameland-static-banner{height:112px!important;min-height:112px!important}
.gameland-entry-service-banner.is-compact .gameland-entry-service-banner-copy,.gameland-public-intro .gameland-static-banner-copy{overflow:hidden}
.gameland-entry-banner-lead,.gameland-public-intro .gameland-static-lead{white-space:nowrap!important;font-size:clamp(20px,6.4vw,30px)!important;height:2.3em;overflow:hidden}

/* 아래 고정 메뉴(.bottom-nav)에 가려지지 않게 (2026-10-02) — 768px 태블릿에서 「보상 카드 보기」 단추가 메뉴 밑에 깔려
   보이지 않고 누를 수 없었다(실제 한글 글꼴로 재면 목록이 길어져 단추가 화면 아래 끝에 걸림). 화면 안으로 끌어올 때·키보드로
   옮길 때 메뉴 높이만큼 위에 멈춘다. */
html{scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom))}

/* 관리자·선생님 장소 목록 (2026-10-02 사장님 PC 화면): 입장 틀은 440px 인데 목록은 화면 폭 760px 부터 두 칸이라,
   PC 에서 칸 하나가 169px 로 줄어 장소 이름이 한 글자씩 꺾였다. 목록이 보일 때만 틀을 넓힌다. */
@media(min-width:760px){
  .gameland-entry-react-shell.has-results{width:min(100%,880px)!important}
}
/* 목록이 뜬 뒤에는 처음 들어오는 사람용 머리(「오늘 본 곳, 게임으로 다시」)를 뺀다 — 「관리자 전체 게임」·「○○ 님의 복습 게임」과
   큰 제목 둘이 겹쳐 보였다(10/2 사장님). 「일반 회원 화면 보기」는 목록 제목 오른쪽 위 작은 링크로. */
.gameland-entry-react-shell.has-results>.gameland-entry-service-banner{display:none!important}
.gameland-entry-react-shell.has-results>button{display:block;margin:16px 0 -8px auto!important}
/* 둘러보기 (10/6 사장님 「장소·미션은 다 보이고 게임 시작은 예약해야」) — 목록 위 안내 한 줄 + 게임을 누르면 뜨는 창 */
.gameland-browse-note{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:12px 14px;border:1px solid #f3d9c9;border-radius:16px;background:#fff7f1}
.gameland-browse-note>.ms{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fde7da;color:#c2410c;font-size:20px}
.gameland-browse-note p{flex:1;min-width:0;margin:0;display:flex;flex-direction:column;gap:2px;line-height:1.45}
.gameland-browse-note b{font-size:15px;color:#1f2a37}
.gameland-browse-note p span{font-size:13px;color:#5b6472;word-break:keep-all}
.gameland-browse-login{flex:none;min-height:44px;padding:0 16px;border-radius:12px;background:#e8642c;color:#fff;font-weight:800;font-size:15px;display:inline-flex;align-items:center;text-decoration:none}
.gameland-play-gate{width:min(92vw,420px);padding:0;border:0;border-radius:22px;box-shadow:0 24px 60px rgba(15,23,42,.28);background:#fff;color:#1f2a37}
.gameland-play-gate::backdrop{background:rgba(15,23,42,.45)}
.gameland-play-gate form{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 22px 20px;text-align:center}
.gameland-play-gate .gate-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fde7da;color:#c2410c;font-size:26px}
.gameland-play-gate h2{margin:4px 0 0;font-size:20px;line-height:1.35;letter-spacing:-.02em;word-break:keep-all}
.gameland-play-gate p{margin:0;font-size:15px;line-height:1.6;color:#4b5563;word-break:keep-all}
.gameland-play-gate p b{color:#1f2a37}
.gameland-play-gate .gate-actions{width:100%;display:flex;flex-direction:column;gap:8px;margin-top:8px}
.gameland-play-gate .gate-actions>*{min-height:50px;border-radius:14px;font:inherit;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer}
.gameland-play-gate .gate-primary{border:0;background:#e8642c;color:#fff}
.gameland-play-gate .gate-store{border:1px solid #cdebd7;background:#f1fbf4;color:#0f7a3a}
.gameland-play-gate .gate-store i{width:22px;height:22px;border-radius:5px;background:#03c75a;color:#fff;font-style:normal;font-size:13px;font-weight:900;display:grid;place-items:center}
.gameland-play-gate .gate-close{border:0;background:transparent;color:#6b7280;font-weight:700;min-height:44px}
