/* =========================================
   BuddyPlanner — 2026.11 화면 개편 (디자인 시안 반영)
   홈 · 타임라인 · 일정 · 등록 · 기록 · 마이 공통
   ========================================= */
:root {
  --v2-navy: #0b1d45;
  --v2-navy-2: #132b5e;
  --v2-navy-3: #1d3a72;
  --v2-green: #12b886;
  --v2-green-dark: #0f7a55;
  --v2-green-ink: #053b2a;
  --v2-green-bg: #ecfbf4;
  --v2-green-line: #b7ecd3;
  --v2-blue: #007aff;
  --v2-blue-bg: #eaf3ff;
  --v2-sky: #93c5fd;
  --v2-ink: #0f172a;
  --v2-sub: #64748b;
  --v2-line: #e3e8ef;
  --v2-bg: #f6f8fb;
  --v2-yellow: #f5c542;
  --v2-amber-bg: #fff8e1;
  --v2-amber-line: #f5d77a;
  --v2-amber-ink: #8a4b0f;
  --v2-orange-bg: #fff4ea;
  --v2-orange-ink: #c2410c;
  --v2-r: 18px;
  --nav-h: 60px;
}

/* ── 하단 메뉴 ── */
.bottom-nav { background: #fff; border-top: 1px solid var(--v2-line); align-items: flex-start; padding-top: 6px; }
.gnb-item { color: #475569; gap: 4px; }
.gnb-item svg { width: 23px; height: 23px; }
.gnb-item.active svg { filter: none; }
.gnb-item .nav-label { font-size: 0.75rem; font-weight: 600; }
.gnb-item.active .nav-label { font-weight: 800; }
.gnb-item.gnb-item-ai .gnb-ai-btn-bubble { width: 56px; height: 56px; background: var(--v2-blue); border: 4px solid #fff; box-shadow: 0 6px 18px rgba(0,122,255,0.35); }
.gnb-item.gnb-item-ai .ai-label { color: var(--v2-blue); font-weight: 800; font-size: 0.75rem; }

/* ── 공통 ── */
.v2-scroll { flex: 1; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; background: var(--v2-bg); padding-bottom: calc(var(--nav-h) + var(--safe-bottom) + 28px); }
.v2-pagehead { position: sticky; top: 0; z-index: 30; background: #fff; border-bottom: 1px solid var(--v2-line); padding: calc(env(safe-area-inset-top, 0px) + 14px) 20px 14px; display: flex; align-items: center; gap: 8px; }
.v2-pagehead h1 { font-size: 1.5rem; font-weight: 800; color: var(--v2-ink); letter-spacing: -0.5px; margin: 0; }
.v2-pagehead.center { justify-content: space-between; padding-left: 12px; padding-right: 12px; }
.v2-pagehead.center h1 { font-size: 1.125rem; position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.v2-iconbtn { width: 40px; height: 40px; border: none; background: none; color: var(--v2-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 12px; }
.v2-iconbtn:active { background: #f1f5f9; }
.v2-body { padding: 16px 16px 0; display: flex; flex-direction: column; gap: 12px; }
.v2-card { background: #fff; border: 1px solid var(--v2-line); border-radius: var(--v2-r); padding: 18px; }
.v2-sec-title { font-size: 0.9375rem; font-weight: 800; color: #475569; margin: 10px 4px 0; }
.v2-h2 { font-size: 1.125rem; font-weight: 800; color: var(--v2-ink); letter-spacing: -0.3px; }
.v2-link { background: none; border: none; color: var(--v2-blue); font-weight: 800; font-size: 0.9375rem; cursor: pointer; padding: 4px 0; }
.v2-btn-navy { width: 100%; height: 54px; border: none; border-radius: 16px; background: var(--v2-navy); color: #fff; font-size: 1.062rem; font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; }
.v2-btn-navy:active { opacity: 0.9; }
.v2-btn-line { width: 100%; height: 50px; border: 1px solid var(--v2-line); border-radius: 14px; background: #fff; color: #334155; font-size: 0.9375rem; font-weight: 700; cursor: pointer; }
.v2-chev { color: #64748b; flex-shrink: 0; }
.v2-pill { display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 999px; font-size: 0.8125rem; font-weight: 800; white-space: nowrap; }
.v2-pill.blue { background: var(--v2-blue-bg); color: #1d4ed8; }
.v2-pill.green { background: var(--v2-green-bg); color: var(--v2-green-dark); }
.v2-pill.yellow { background: var(--v2-yellow); color: #3b2a00; }
.v2-pill.amber { background: #fdf0c4; color: var(--v2-amber-ink); font-size: 0.75rem; padding: 3px 9px; border-radius: 8px; }

/* 스위치 */
.v2-switch { position: relative; width: 52px; height: 30px; border-radius: 999px; background: #cbd5e1; border: none; cursor: pointer; flex-shrink: 0; transition: background .2s; padding: 0; }
.v2-switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,0.2); transition: transform .2s; }
.v2-switch.on { background: var(--v2-green); }
.v2-switch.on::after { transform: translateX(22px); }

/* 세그먼트 */
.v2-seg { display: flex; background: #eef2f7; border-radius: 12px; padding: 4px; gap: 4px; }
.v2-seg button { flex: 1; height: 38px; border: none; background: none; border-radius: 9px; font-size: 0.9375rem; font-weight: 600; color: #475569; cursor: pointer; }
.v2-seg button.on { background: #fff; color: var(--v2-ink); font-weight: 800; box-shadow: 0 1px 4px rgba(15,23,42,0.12); }

/* ========== 홈 ========== */
.v2-home-hero { background: var(--v2-navy); color: #fff; padding: calc(env(safe-area-inset-top, 0px) + 14px) 20px 22px; }
.v2-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 26px; }
.v2-brand-logo { width: 34px; height: 34px; border-radius: 9px; background: var(--v2-navy-2); color: var(--v2-yellow); display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 1.125rem; }
.v2-brand-name { font-size: 1.25rem; font-weight: 800; letter-spacing: -0.4px; flex: 1; }
.v2-brand .v2-iconbtn { color: #fff; width: 36px; }
.v2-brand .v2-iconbtn:active { background: rgba(255,255,255,0.08); }
.v2-hero-tag { font-size: 0.875rem; font-weight: 700; color: var(--v2-sky); margin-bottom: 6px; }
.v2-hero-title { font-size: 1.75rem; font-weight: 800; letter-spacing: -0.6px; line-height: 1.25; }
.v2-hero-sub { font-size: 0.9375rem; color: #cbd5e1; margin-top: 6px; }
.v2-hero-times { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 18px; }
.v2-hero-time { background: var(--v2-navy-2); border-radius: 14px; padding: 12px 13px; min-width: 0; }
.v2-hero-time span { display: block; font-size: 0.8125rem; font-weight: 700; color: var(--v2-sky); white-space: nowrap; }
.v2-hero-time b { display: block; font-size: 1.562rem; font-weight: 800; margin-top: 6px; letter-spacing: -0.3px; font-variant-numeric: tabular-nums; }
.v2-hero-time.tee { background: var(--v2-green); }
.v2-hero-time.tee span, .v2-hero-time.tee b { color: var(--v2-green-ink); }
.v2-hero-alarm { display: flex; align-items: center; gap: 12px; background: var(--v2-navy-2); border-radius: 14px; padding: 14px 15px; margin-top: 8px; }
.v2-hero-alarm div { flex: 1; min-width: 0; }
.v2-hero-alarm b { display: block; font-size: 1rem; font-weight: 800; }
.v2-hero-alarm small { display: block; font-size: 0.8125rem; color: #cbd5e1; margin-top: 3px; }
.v2-hero-btn { width: 100%; height: 52px; border: none; border-radius: 16px; background: #fff; color: var(--v2-navy); font-size: 1.062rem; font-weight: 800; margin-top: 14px; display: flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer; }
.v2-hero-empty { font-size: 0.9375rem; color: #cbd5e1; margin-top: 8px; line-height: 1.5; }

.v2-home-body { padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.v2-new-card { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--v2-line); border-radius: 20px; padding: 16px; cursor: pointer; }
.v2-new-ico { width: 50px; height: 50px; border-radius: 14px; background: var(--v2-blue-bg); color: var(--v2-blue); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.v2-new-card b { display: block; font-size: 1.062rem; font-weight: 800; color: var(--v2-ink); }
.v2-new-card small { display: block; font-size: 0.875rem; color: var(--v2-sub); margin-top: 4px; line-height: 1.45; }
.v2-week-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.v2-week { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; row-gap: 8px; }
.v2-week .dn { font-size: 0.875rem; font-weight: 600; color: #475569; }
.v2-week .dn.sun { color: #dc2626; } .v2-week .dn.sat { color: #2563eb; }
.v2-week .dd { width: 38px; height: 38px; margin: 0 auto; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.062rem; font-weight: 800; color: var(--v2-ink); border: 2px solid transparent; cursor: pointer; }
.v2-week .dd.today { border-color: var(--v2-blue); color: var(--v2-blue); }
.v2-week .dot { height: 6px; display: flex; justify-content: center; }
.v2-week .dot i { width: 6px; height: 6px; border-radius: 50%; background: var(--v2-green); }
.v2-score-card { display: flex; align-items: center; gap: 14px; background: var(--v2-green-bg); border: 1px solid var(--v2-green-line); border-radius: 20px; padding: 16px; cursor: pointer; }
.v2-score-ico { width: 48px; height: 48px; border-radius: 50%; background: #fff; color: var(--v2-green-dark); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.v2-score-card div.t { flex: 1; min-width: 0; }
.v2-score-card b { display: block; font-size: 1.062rem; font-weight: 800; color: #064e3b; }
.v2-score-card small { display: block; font-size: 0.875rem; color: #334155; margin-top: 4px; line-height: 1.45; }
.v2-score-btn { border: none; background: var(--v2-green-dark); color: #fff; font-size: 0.9375rem; font-weight: 800; border-radius: 12px; padding: 12px 16px; flex-shrink: 0; cursor: pointer; }
.v2-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.v2-tile { background: #fff; border: 1px solid var(--v2-line); border-radius: 18px; padding: 14px 4px 12px; text-align: center; cursor: pointer; }
.v2-tile i { width: 40px; height: 40px; border-radius: 12px; background: var(--v2-blue-bg); color: var(--v2-blue); display: flex; align-items: center; justify-content: center; margin: 0 auto 8px; font-style: normal; }
.v2-tile span { font-size: 0.875rem; font-weight: 700; color: var(--v2-ink); white-space: nowrap; }
.v2-point-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #fff; border: 1px solid var(--v2-line); border-radius: 18px; padding: 14px 16px; }
.v2-point-row .lbl { font-size: 0.9375rem; color: #334155; }
.v2-point-row .lbl b { color: var(--v2-blue); font-weight: 800; font-size: 1.062rem; margin-left: 4px; }
.v2-ad-btn { border: 1px solid var(--v2-amber-line); background: var(--v2-amber-bg); color: var(--v2-amber-ink); font-weight: 800; font-size: 0.875rem; border-radius: 12px; padding: 9px 13px; cursor: pointer; white-space: nowrap; }

/* ========== 타임라인 ========== */
.v2-tl-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.v2-tl-name { font-size: 1.5rem; font-weight: 800; color: var(--v2-ink); letter-spacing: -0.5px; }
.v2-tl-meta { font-size: 0.9375rem; color: var(--v2-sub); margin-top: 6px; }
.v2-alarm-box { display: flex; align-items: center; gap: 12px; background: var(--v2-green-bg); border: 1px solid var(--v2-green-line); border-radius: 16px; padding: 14px 15px; margin-top: 16px; }
.v2-alarm-box.off { background: #f8fafc; border-color: var(--v2-line); }
.v2-alarm-box div { flex: 1; }
.v2-alarm-box b { display: block; font-size: 1.062rem; font-weight: 800; color: var(--v2-ink); }
.v2-alarm-box small { display: block; font-size: 0.875rem; color: #475569; margin-top: 3px; }
.v2-now { background: var(--v2-navy); color: #fff; border-radius: 22px; padding: 20px 18px 18px; }
.v2-now-top { display: flex; align-items: center; justify-content: space-between; }
.v2-now-top span { font-size: 0.9375rem; font-weight: 700; color: var(--v2-sky); }
.v2-now-main { display: flex; align-items: baseline; gap: 12px; margin-top: 14px; flex-wrap: wrap; }
.v2-now-main b { font-size: 2.25rem; font-weight: 800; letter-spacing: -0.5px; font-variant-numeric: tabular-nums; }
.v2-now-main span { font-size: 1.25rem; font-weight: 800; }
.v2-now-desc { font-size: 0.9375rem; color: #cbd5e1; margin-top: 10px; line-height: 1.5; }
.v2-now-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.v2-now-btns button { height: 50px; border: none; border-radius: 13px; font-size: 1rem; font-weight: 800; cursor: pointer; }
.v2-now-btns .tmap { background: #fff; color: var(--v2-ink); }
.v2-now-btns .kakao { background: #fee500; color: #191919; }
.v2-now-done { width: 100%; height: 48px; margin-top: 8px; border: 1px solid rgba(255,255,255,0.22); background: transparent; color: #fff; border-radius: 13px; font-size: 1rem; font-weight: 800; cursor: pointer; }
.v2-route-title { font-size: 1.125rem; font-weight: 800; color: var(--v2-ink); margin: 12px 4px 0; }
.v2-step { background: #fff; border: 1px solid var(--v2-line); border-radius: 16px; padding: 14px 15px; }
.v2-step-row { display: flex; align-items: center; gap: 12px; }
.v2-step-ico { width: 30px; height: 30px; border-radius: 50%; background: var(--v2-blue-bg); color: var(--v2-blue); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.v2-step-ico.meal { background: var(--v2-orange-bg); color: var(--v2-orange-ink); }
.v2-step-time { font-size: 1rem; font-weight: 800; color: var(--v2-ink); width: 54px; flex-shrink: 0; font-variant-numeric: tabular-nums; }
.v2-step-time small { display: block; font-size: 0.6875rem; color: var(--v2-sub); font-weight: 700; }
.v2-step-title { flex: 1; min-width: 0; font-size: 1rem; font-weight: 800; color: var(--v2-ink); }
.v2-step-act { background: none; border: none; color: var(--v2-blue); font-size: 0.9375rem; font-weight: 800; cursor: pointer; padding: 4px 0 4px 6px; flex-shrink: 0; }
.v2-step-sub { font-size: 0.875rem; color: var(--v2-sub); margin: 8px 0 0 96px; line-height: 1.45; }
.v2-step-extra { margin: 8px 0 0 96px; }
.v2-step.done { background: #fff; }
.v2-step.done .v2-step-ico { background: #e2e8f0; color: #475569; }
.v2-step.done .v2-step-time { color: #475569; }
.v2-step.done .v2-step-title { color: #475569; text-decoration: line-through; font-weight: 600; }
.v2-step.done .v2-step-sub, .v2-step.done .v2-step-extra { display: none; }
.v2-step.now { background: #eef5ff; border: 2px solid var(--v2-blue); }
.v2-step.now .v2-step-ico { background: var(--v2-blue); color: #fff; }
.v2-step.now .v2-step-time { color: #1d4ed8; }
.v2-step-now { font-size: 0.9375rem; font-weight: 800; color: #1d4ed8; flex-shrink: 0; }
.v2-tee { display: flex; align-items: center; gap: 14px; background: var(--v2-green); border-radius: 20px; padding: 16px 18px; }
.v2-tee-ico { width: 46px; height: 46px; border-radius: 50%; background: #fff; color: var(--v2-green-dark); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.v2-tee b { display: block; font-size: 2rem; font-weight: 800; color: var(--v2-green-ink); line-height: 1.05; font-variant-numeric: tabular-nums; }
.v2-tee span { display: block; font-size: 1rem; font-weight: 800; color: var(--v2-green-ink); margin-top: 2px; }
.v2-tl-foot { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.v2-tl-mini { display: flex; gap: 8px; }
.v2-tl-mini button { flex: 1; height: 46px; border: 1px solid var(--v2-line); background: #fff; border-radius: 14px; font-size: 0.875rem; font-weight: 700; color: #334155; cursor: pointer; }
.v2-tl-del { background: none; border: none; color: #94a3b8; font-size: 0.875rem; text-decoration: underline; padding: 10px; cursor: pointer; }

/* ========== 일정(달력) ========== */
.v2-cal-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.v2-cal-nav b { font-size: 1.312rem; font-weight: 800; color: var(--v2-ink); }
.v2-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; row-gap: 4px; }
.v2-cal-grid .wd { font-size: 0.875rem; font-weight: 600; color: #475569; padding: 6px 0 10px; }
.v2-cal-grid .wd.sun { color: #dc2626; } .v2-cal-grid .wd.sat { color: #2563eb; }
.v2-cal-cell { height: 52px; display: flex; flex-direction: column; align-items: center; cursor: pointer; }
.v2-cal-cell .n { width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.062rem; font-weight: 800; color: var(--v2-ink); border: 2px solid transparent; }
.v2-cal-cell.sun .n { color: #dc2626; } .v2-cal-cell.sat .n { color: #2563eb; }
.v2-cal-cell.past .n { opacity: 0.45; font-weight: 700; }
.v2-cal-cell.today .n { border-color: var(--v2-blue); }
.v2-cal-cell.sel .n { background: var(--v2-navy); color: #fff; border-color: var(--v2-navy); opacity: 1; }
.v2-cal-cell .dot { width: 6px; height: 6px; border-radius: 50%; background: transparent; margin-top: 3px; }
.v2-cal-cell.has .dot { background: var(--v2-green); }
.v2-cal-legend { display: flex; gap: 16px; align-items: center; margin-top: 10px; padding-top: 4px; font-size: 0.8125rem; color: #475569; }
.v2-cal-legend span { display: inline-flex; align-items: center; gap: 6px; }
.v2-cal-legend i { display: inline-block; border-radius: 50%; }
.v2-cal-day { font-size: 1.125rem; font-weight: 800; color: var(--v2-ink); margin: 6px 4px 0; }
.v2-rcard-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; cursor: pointer; }
.v2-rcard-top b { font-size: 1.188rem; font-weight: 800; color: var(--v2-ink); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-rcard-times { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 14px; cursor: pointer; }
.v2-rcard-times span { display: block; font-size: 0.8125rem; color: var(--v2-sub); }
.v2-rcard-times b { display: block; font-size: 1.25rem; font-weight: 800; color: var(--v2-ink); margin-top: 4px; font-variant-numeric: tabular-nums; }
.v2-rcard-times .tee span, .v2-rcard-times .tee b { color: var(--v2-green-dark); }
.v2-rcard-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid #eef2f6; margin-top: 14px; padding-top: 12px; }
.v2-rcard-foot .st { font-size: 0.875rem; font-weight: 800; color: var(--v2-green-dark); }
.v2-rcard-foot .st.off { color: var(--v2-sub); }
.v2-cal-empty { font-size: 0.9375rem; color: var(--v2-sub); text-align: center; padding: 22px 10px; }

/* ========== 등록 ========== */
.v2-reg-progress { background: #fff; border-bottom: 1px solid var(--v2-line); padding: 12px 20px 14px; }
.v2-reg-progress .row { display: flex; justify-content: space-between; font-size: 0.875rem; color: #475569; }
.v2-reg-progress .row b { color: var(--v2-ink); font-weight: 800; }
.v2-reg-progress .bar { height: 7px; border-radius: 99px; background: #e2e8f0; margin-top: 10px; overflow: hidden; }
.v2-reg-progress .bar i { display: block; height: 100%; background: var(--v2-green); border-radius: 99px; transition: width .3s; }
.v2-q { display: flex; align-items: center; gap: 10px; font-size: 1.125rem; font-weight: 800; color: var(--v2-ink); margin-bottom: 14px; }
.v2-q em { width: 28px; height: 28px; border-radius: 50%; background: var(--v2-navy); color: #fff; font-style: normal; font-size: 0.875rem; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.v2-q em.ok { background: var(--v2-green); }
.v2-search { display: flex; align-items: center; gap: 10px; background: #f1f4f9; border-radius: 14px; padding: 0 14px; height: 50px; }
.v2-search input { flex: 1; border: none; background: transparent; font-size: 1rem; color: var(--v2-ink); outline: none; min-width: 0; }
.v2-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.v2-chip { border: 1px solid var(--v2-line); background: #fff; color: #334155; border-radius: 12px; padding: 0 16px; height: 44px; font-size: 0.9375rem; font-weight: 700; cursor: pointer; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-chip.on { background: var(--v2-navy); border-color: var(--v2-navy); color: #fff; }
.v2-opts { display: grid; gap: 8px; }
.v2-opts.c3 { grid-template-columns: repeat(3, 1fr); }
.v2-opts.c4 { grid-template-columns: repeat(4, 1fr); }
.v2-opts button { height: 46px; border: 1px solid var(--v2-line); background: #fff; color: #334155; border-radius: 12px; font-size: 0.9375rem; font-weight: 700; cursor: pointer; padding: 0 4px; }
.v2-opts button.on { background: var(--v2-navy); border-color: var(--v2-navy); color: #fff; }
.v2-hint { font-size: 0.875rem; color: var(--v2-sub); margin-top: 12px; line-height: 1.5; }
.v2-hint.warn { color: #b45309; }
.v2-field2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.v2-field { background: #f1f4f9; border: 1px solid #e6ebf2; border-radius: 14px; padding: 12px 14px; text-align: left; cursor: pointer; min-width: 0; }
.v2-field span { display: block; font-size: 0.8125rem; color: var(--v2-sub); }
.v2-field b { display: block; font-size: 1.062rem; font-weight: 800; color: var(--v2-ink); margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-field b.empty { color: #94a3b8; font-weight: 700; }
.v2-opt-card { background: #fff; border: 1px solid var(--v2-line); border-radius: var(--v2-r); overflow: hidden; }
.v2-opt-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; cursor: pointer; }
.v2-opt-head b { display: block; font-size: 1.125rem; font-weight: 800; color: var(--v2-ink); }
.v2-opt-head small { display: block; font-size: 0.875rem; color: var(--v2-sub); margin-top: 3px; }
.v2-opt-row { border-top: 1px solid #eef2f6; padding: 14px 18px; }
.v2-opt-row .r { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 1rem; color: var(--v2-ink); }
.v2-opt-sub { margin-top: 10px; }
.v2-invite { margin: 4px 18px 18px; width: calc(100% - 36px); height: 50px; border: 1.5px dashed #cbd5e1; background: #fff; border-radius: 14px; font-size: 0.9375rem; font-weight: 800; color: var(--v2-ink); cursor: pointer; }
.v2-reg-foot { position: sticky; bottom: 0; z-index: 20; background: #fff; border-top: 1px solid var(--v2-line); padding: 12px 16px calc(12px + var(--safe-bottom)); }
#r-hint { color: var(--v2-sub) !important; font-size: 0.875rem; }
#r-hint:empty { display: none; }
.v2-opt-sub.meal-body { padding: 0; margin-top: 12px; border: none; background: none; }
.v2-opt-sub.meal-body:not(.show) { display: none; }
.v2-opts .pill { height: 46px; border: 1px solid var(--v2-line); background: #fff; color: #334155; border-radius: 12px; font-size: 0.9375rem; font-weight: 700; padding: 0 4px; margin: 0; box-shadow: none; }
.v2-opts .pill.on { background: var(--v2-navy); border-color: var(--v2-navy); color: #fff; }
.v2-field b.is-empty { color: #94a3b8; font-weight: 700; }
#r-startpoint-custom.warn { color: #c2410c; }
#screen-register .search-drop { top: 56px; }
#screen-register .invite-tags:empty { display: none; }
.v2-reg-foot .pre { font-size: 0.8438rem; color: var(--v2-sub); margin-bottom: 10px; text-align: center; line-height: 1.45; word-break: keep-all; }
.v2-reg-foot .pre b { color: var(--v2-ink); font-weight: 800; }
.v2-reg-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.v2-reg-tools button { height: 44px; border: 1px solid var(--v2-line); background: #fff; border-radius: 12px; font-size: 0.875rem; font-weight: 700; color: #334155; cursor: pointer; }

/* ========== 기록 ========== */
.v2-rec-hero { background: var(--v2-navy); color: #fff; border-radius: 22px; padding: 20px 18px; }
.v2-rec-hero .tag { font-size: 0.9375rem; font-weight: 700; color: var(--v2-sky); }
.v2-rec-hero h3 { font-size: 1.312rem; font-weight: 800; margin: 10px 0 0; letter-spacing: -0.4px; line-height: 1.35; }
.v2-rec-hero .meta { font-size: 0.875rem; color: #cbd5e1; margin-top: 6px; }
.v2-rec-hero .btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.v2-rec-hero .btns button { height: 52px; border-radius: 14px; font-size: 1rem; font-weight: 800; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; }
.v2-rec-hero .btns .w { background: #fff; color: var(--v2-ink); border: none; }
.v2-rec-hero .btns .o { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.25); }
.v2-rec-hero .foot { font-size: 0.875rem; color: var(--v2-sky); margin-top: 14px; }
.v2-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.v2-stat { background: #fff; border: 1px solid var(--v2-line); border-radius: 18px; padding: 14px; min-width: 0; }
.v2-stat span { display: block; font-size: 0.875rem; color: var(--v2-sub); white-space: nowrap; }
.v2-stat b { display: block; font-size: 1.625rem; font-weight: 800; color: var(--v2-ink); margin-top: 8px; }
.v2-stat.best { background: #fffbea; border-color: var(--v2-amber-line); }
.v2-stat.best span, .v2-stat.best b { color: var(--v2-amber-ink); }
.v2-bars-head { display: flex; justify-content: space-between; align-items: center; }
.v2-bars-head b { font-size: 1.062rem; font-weight: 800; color: var(--v2-ink); }
.v2-bars-head span { font-size: 0.9375rem; font-weight: 800; color: var(--v2-green-dark); }
.v2-bars-head span.up { color: #b45309; }
.v2-bars { display: flex; gap: 10px; align-items: flex-end; height: 150px; margin-top: 16px; }
.v2-bar { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; min-width: 0; }
.v2-bar em { font-style: normal; font-size: 0.875rem; font-weight: 800; color: #334155; margin-bottom: 6px; }
.v2-bar i { width: 100%; border-radius: 8px 8px 4px 4px; background: #cbd5e1; display: block; }
.v2-bar.last i { background: var(--v2-blue); }
.v2-bar small { font-size: 0.8125rem; color: var(--v2-sub); margin-top: 8px; white-space: nowrap; }
.v2-log-head { display: flex; align-items: center; justify-content: space-between; margin: 8px 4px 0; }
.v2-log-head b { font-size: 1.25rem; font-weight: 800; color: var(--v2-ink); }
.v2-log-head .v2-seg { width: 150px; }
.v2-log { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--v2-line); border-radius: 18px; padding: 14px 16px; cursor: pointer; }
.v2-log-score { width: 54px; height: 54px; border-radius: 14px; background: #f1f4f9; display: flex; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0; }
.v2-log-score b { font-size: 1.25rem; font-weight: 800; color: var(--v2-ink); line-height: 1; }
.v2-log-score small { font-size: 0.75rem; color: var(--v2-sub); margin-top: 3px; }
.v2-log-info { flex: 1; min-width: 0; }
.v2-log-info .t { display: flex; align-items: center; gap: 8px; font-size: 1.062rem; font-weight: 800; color: var(--v2-ink); }
.v2-log-info .t span.nm { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-log-info .m { font-size: 0.875rem; color: var(--v2-sub); margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-empty { background: #fff; border: 1px dashed #cbd5e1; border-radius: 18px; padding: 28px 16px; text-align: center; color: var(--v2-sub); font-size: 0.9375rem; line-height: 1.6; }

/* ========== 마이 ========== */
.v2-me { display: flex; align-items: center; gap: 14px; }
.v2-avatar { width: 56px; height: 56px; border-radius: 50%; background: var(--v2-blue-bg); color: #1d4ed8; font-size: 1.5rem; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; }
.v2-me .t { flex: 1; min-width: 0; }
.v2-me .t b { display: block; font-size: 1.25rem; font-weight: 800; color: var(--v2-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-me .t small { display: block; font-size: 0.875rem; color: var(--v2-sub); margin-top: 4px; }
.v2-me-edit { border: 1px solid #cbd5e1; background: #fff; border-radius: 12px; height: 42px; padding: 0 14px; font-size: 0.875rem; font-weight: 800; color: var(--v2-ink); cursor: pointer; flex-shrink: 0; }
.v2-me-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.v2-me-box { border-radius: 18px; padding: 16px; cursor: pointer; min-width: 0; }
.v2-me-box span { display: block; font-size: 0.875rem; }
.v2-me-box b { display: block; font-size: 1.625rem; font-weight: 800; margin-top: 8px; }
.v2-me-box small { display: block; font-size: 0.8125rem; font-weight: 800; margin-top: 8px; line-height: 1.4; }
.v2-me-box small b.v2-me-dday { display: inline; font-size: inherit; margin: 0; color: #6ee7b7; }
.v2-me-box.pt { background: #fff; border: 1px solid var(--v2-line); }
.v2-me-box.pt span { color: var(--v2-sub); } .v2-me-box.pt b { color: var(--v2-ink); } .v2-me-box.pt small { color: var(--v2-amber-ink); }
.v2-me-box.pro { background: var(--v2-navy); }
.v2-me-box.pro span { color: var(--v2-sky); } .v2-me-box.pro b { color: #fff; } .v2-me-box.pro small { color: var(--v2-yellow); }
.v2-list { background: #fff; border: 1px solid var(--v2-line); border-radius: var(--v2-r); overflow: hidden; }
.v2-li { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-top: 1px solid #eef2f6; cursor: pointer; font-size: 1rem; color: var(--v2-ink); width: 100%; background: none; border-left: none; border-right: none; border-bottom: none; text-align: left; }
.v2-li:first-child { border-top: none; }
.v2-li .k { flex: 1; min-width: 0; }
.v2-li .k small { display: block; font-size: 0.8125rem; color: var(--v2-sub); margin-top: 3px; }
.v2-li .v { font-size: 0.9375rem; color: #475569; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 55%; }
.v2-li.warn { background: #fff4ea; }
.v2-li.warn .ico { width: 40px; height: 40px; border-radius: 12px; background: #fff; color: var(--v2-orange-ink); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.v2-li.warn .k b { display: block; font-size: 1.062rem; font-weight: 800; }
.v2-li.warn .k small { color: var(--v2-orange-ink); font-size: 0.875rem; }
.v2-li.warn .go { color: var(--v2-orange-ink); font-weight: 800; font-size: 0.9375rem; }
.v2-li-block { padding: 16px 18px; border-top: 1px solid #eef2f6; }
.v2-li-block:first-child { border-top: none; }
.v2-li-block > span { display: block; font-size: 1rem; color: var(--v2-ink); margin-bottom: 10px; }
.v2-quit { display: block; margin: 8px auto 0; background: none; border: none; color: #64748b; text-decoration: underline; font-size: 0.875rem; padding: 8px; cursor: pointer; }
.v2-me-box b span, .v2-me-box small span { display: inline; }
.v2-seg button.active { background: #fff; color: var(--v2-ink); font-weight: 800; box-shadow: 0 1px 4px rgba(15,23,42,0.12); }
.v2-me-box b span, .v2-me-box small span { font-size: inherit; color: inherit; }

/* 홈: 예전 히어로 + 새 카드 */
.v2-home-sheet { background: var(--v2-bg); }
.v2-home-sheet .v2-home-body { padding: 0; }

/* 홈 히어로 글씨 키움 (2026.11): 문구 23px · 시간 15px · 이름표 11px, 골퍼 그림 크기는 그대로 (좁으면 그림 양옆만 잘라냄) */
.home-glounge-hero { padding-right: 12px; }
.home-glounge-hero .hero-sub-tag { font-size: 0.875rem; margin-bottom: 8px; }
.home-glounge-hero .hero-main-title { font-size: 1.4375rem; line-height: 1.3; margin-bottom: 14px; }
.home-glounge-hero .hero-inline-timeline { max-width: none; padding: 9px 11px; border-radius: 15px; }
.home-glounge-hero .mini-tl-tag { font-size: 0.6875rem; padding: 2px 6px; margin-bottom: 3px; }
.home-glounge-hero .mini-tl-val { font-size: 0.875rem; }
.home-glounge-hero .glounge-pill-btn { font-size: 0.875rem; padding: 9px 19px; }
.home-glounge-hero .glounge-hero-figure { width: 150px; height: 168px; margin-left: 0; overflow: hidden; }
.home-glounge-hero .glounge-hero-figure img { width: 168px; height: 168px; flex-shrink: 0; max-width: none; }

/* ========== 마켓 ========== */
.v2-mk-hero { background: var(--v2-navy); color: #fff; border-radius: 20px; padding: 18px; }
.v2-mk-hero .tag { font-size: 0.875rem; font-weight: 700; color: var(--v2-sky); }
.v2-mk-hero h3 { font-size: 1.25rem; font-weight: 800; margin: 8px 0 12px; }
.v2-mk-hero .chips { display: flex; gap: 8px; flex-wrap: wrap; }
.v2-mk-hero .chips button { border: none; background: var(--v2-navy-2); color: #fff; border-radius: 999px; padding: 8px 14px; font-size: 0.875rem; font-weight: 700; cursor: pointer; }
.v2-mk-hero .sub { font-size: 0.8125rem; color: #cbd5e1; margin-top: 12px; }
.v2-mk-raffle { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--v2-line); border-radius: 18px; padding: 14px 16px; }
.v2-mk-raffle div { flex: 1; min-width: 0; }
.v2-mk-raffle b { display: block; font-size: 1rem; font-weight: 800; color: var(--v2-ink); }
.v2-mk-raffle small { display: block; font-size: 0.8125rem; color: var(--v2-sub); margin-top: 3px; }
.v2-mk-raffle button { border: 1px solid #cbd5e1; background: #fff; border-radius: 12px; height: 42px; padding: 0 14px; font-size: 0.875rem; font-weight: 800; color: var(--v2-ink); cursor: pointer; flex-shrink: 0; }
.v2-mk-cats { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 -16px; padding: 0 16px; }
.v2-mk-cats::-webkit-scrollbar { display: none; }
.v2-mk-cats button { flex-shrink: 0; border: 1px solid var(--v2-line); background: #fff; color: #334155; border-radius: 999px; height: 42px; padding: 0 18px; font-size: 0.9375rem; font-weight: 700; cursor: pointer; }
.v2-mk-cats button.on { background: var(--v2-navy); border-color: var(--v2-navy); color: #fff; }
.v2-mk-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 2px 2px -2px; }
.v2-mk-head b { font-size: 1.125rem; font-weight: 800; color: var(--v2-ink); }
.v2-mk-head span { font-size: 0.75rem; color: var(--v2-sub); white-space: nowrap; }
.v2-mk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.v2-mk-card { background: #fff; border: 1px solid var(--v2-line); border-radius: 18px; overflow: hidden; cursor: pointer; display: flex; flex-direction: column; }
.v2-mk-img { position: relative; aspect-ratio: 1.45 / 1; background: #f1f4f9; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.v2-mk-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.v2-mk-img .ph { font-size: 0.8125rem; color: #94a3b8; }
.v2-mk-badge { position: absolute; top: 8px; left: 8px; z-index: 2; background: #dc2626; color: #fff; font-size: 0.75rem; font-weight: 800; border-radius: 6px; padding: 3px 7px; }
.v2-mk-info { padding: 12px 13px 14px; }
.v2-mk-brand { font-size: 0.8125rem; color: var(--v2-sub); }
.v2-mk-title { font-size: 0.9375rem; font-weight: 800; color: var(--v2-ink); margin-top: 4px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2-mk-go { font-size: 0.875rem; font-weight: 800; color: var(--v2-blue); margin-top: 8px; }
.v2-mk-price { font-size: 0.9375rem; font-weight: 800; color: var(--v2-ink); margin-top: 8px; }
.v2-mk-soon { font-size: 0.75rem; color: var(--v2-sub); margin-top: 2px; }
.v2-mk-note { font-size: 0.8125rem; color: var(--v2-sub); line-height: 1.55; margin: 4px 2px 0; }

/* ========== 추천 맛집 ========== */
.v2-fd-course { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--v2-line); border-radius: 18px; padding: 16px; cursor: pointer; }
.v2-fd-course .ic { width: 48px; height: 48px; border-radius: 14px; background: var(--v2-green-bg); color: var(--v2-green-dark); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.v2-fd-course .t { flex: 1; min-width: 0; }
.v2-fd-course .t b { display: block; font-size: 1.125rem; font-weight: 800; color: var(--v2-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-fd-course .t small { display: block; font-size: 0.875rem; color: var(--v2-sub); margin-top: 4px; line-height: 1.4; }
.v2-fd-card { background: #fff; border: 1px solid var(--v2-line); border-radius: 18px; padding: 16px; }
.v2-fd-card .top { display: flex; gap: 14px; }
.v2-fd-card .ph { width: 64px; height: 64px; border-radius: 14px; background: #f1f4f9; display: flex; align-items: center; justify-content: center; font-size: 1.75rem; flex-shrink: 0; }
.v2-fd-card .info { flex: 1; min-width: 0; }
.v2-fd-card .nm { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.v2-fd-card .nm b { font-size: 1.0625rem; font-weight: 800; color: var(--v2-ink); }
.v2-fd-badge { font-size: 0.75rem; font-weight: 800; color: #b45309; background: #fff4e5; border-radius: 6px; padding: 3px 7px; }
.v2-fd-badge.pick { color: #fff; background: #dc2626; }
.v2-fd-card .m { font-size: 0.875rem; color: var(--v2-sub); margin-top: 4px; }
.v2-fd-card .r { font-size: 0.875rem; color: #334155; margin-top: 3px; }
.v2-fd-card .r b { color: #b45309; font-weight: 800; }
.v2-fd-card .why { font-size: 0.8125rem; color: #475569; margin-top: 6px; line-height: 1.45; }
.v2-fd-card .btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.v2-fd-card .btns button { height: 46px; border-radius: 12px; font-size: 0.9375rem; font-weight: 800; cursor: pointer; border: 1px solid var(--v2-line); background: #fff; color: var(--v2-ink); }
.v2-fd-card .btns button.navy { background: var(--v2-navy); border-color: var(--v2-navy); color: #fff; }
.v2-fd-how { background: #fff; border: 1px solid var(--v2-line); border-radius: 16px; padding: 14px 16px; }
.v2-fd-how summary { font-size: 0.9375rem; font-weight: 800; color: #334155; cursor: pointer; }
.v2-fd-how p { font-size: 0.875rem; color: #475569; line-height: 1.6; margin: 10px 0 0; }

/* ========== 커뮤니티 ========== */
.v2-cm-tabs { display: flex; gap: 20px; overflow-x: auto; scrollbar-width: none; margin-top: 4px; }
.v2-cm-tabs::-webkit-scrollbar { display: none; }
.v2-cm-tabs button { flex-shrink: 0; border: none; background: none; padding: 8px 0 12px; font-size: 1rem; font-weight: 700; color: #64748b; border-bottom: 3px solid transparent; cursor: pointer; }
.v2-cm-tabs button.on { color: var(--v2-ink); font-weight: 800; border-bottom-color: var(--v2-blue); }
.v2-cm-filters { display: flex; gap: 8px; }
.v2-cm-filters button { border: 1px solid var(--v2-line); background: #fff; color: #334155; border-radius: 999px; height: 38px; padding: 0 16px; font-size: 0.875rem; font-weight: 700; cursor: pointer; }
.v2-cm-filters button.on { background: var(--v2-navy); border-color: var(--v2-navy); color: #fff; }
.v2-cm-card { background: #fff; border: 1px solid var(--v2-line); border-radius: 18px; padding: 16px; }
.v2-cm-card.hid { opacity: 0.6; }
.v2-cm-card .hd { display: flex; align-items: center; gap: 8px; }
.v2-cm-card .hd b { flex: 1; min-width: 0; font-size: 1.0625rem; font-weight: 800; color: var(--v2-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-cm-card .dt { font-size: 0.875rem; color: var(--v2-sub); margin-top: 4px; }
.v2-cm-card .tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.v2-cm-card .tags span { background: #f1f4f9; color: #334155; font-size: 0.8125rem; border-radius: 8px; padding: 5px 9px; }
.v2-cm-card .ct { font-size: 0.875rem; color: #475569; margin-top: 10px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-wrap; }
.v2-cm-card .ct.full { -webkit-line-clamp: 8; font-size: 0.9375rem; color: var(--v2-ink); }
.v2-cm-btn { width: 100%; height: 48px; margin-top: 14px; border: none; border-radius: 13px; background: var(--v2-navy); color: #fff; font-size: 0.9375rem; font-weight: 800; cursor: pointer; }
.v2-cm-btn.ok { background: var(--v2-green-dark); }
.v2-cm-btn.line { background: #fff; color: var(--v2-ink); border: 1px solid var(--v2-line); }
.v2-cm-btn.off { background: #eef2f7; color: #64748b; cursor: default; }
.v2-cm-card .au { display: flex; align-items: center; gap: 10px; }
.v2-cm-card .au .av { width: 38px; height: 38px; border-radius: 50%; color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.v2-cm-card .au b { font-size: 0.9375rem; font-weight: 800; color: var(--v2-ink); }
.v2-cm-card .au small { display: block; font-size: 0.8125rem; color: var(--v2-sub); margin-top: 2px; }
.v2-cm-like { margin-top: 12px; border: 1px solid var(--v2-line); background: #fff; border-radius: 999px; height: 36px; padding: 0 14px; font-size: 0.875rem; font-weight: 700; color: #334155; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.v2-cm-like.active { background: var(--v2-blue-bg); border-color: #bfdbfe; color: #1d4ed8; }
.v2-cm-fab { position: fixed; right: max(16px, calc(50% - var(--app-w, 480px) / 2 + 16px)); bottom: calc(var(--nav-h) + var(--safe-bottom) + 16px); z-index: 25; border: none; background: var(--v2-blue); color: #fff; border-radius: 999px; height: 52px; padding: 0 22px; font-size: 1rem; font-weight: 800; box-shadow: 0 8px 22px rgba(0,122,255,0.35); cursor: pointer; }

/* ========== 단체 일정 ========== */
.v2-gp-hero { background: var(--v2-navy); color: #fff; border-radius: 22px; padding: 18px; }
.v2-gp-hero .tag { font-size: 0.875rem; font-weight: 700; color: var(--v2-sky); }
.v2-gp-hero h3 { font-size: 1.3125rem; font-weight: 800; margin: 6px 0 0; letter-spacing: -0.4px; }
.v2-gp-hero .sub { font-size: 0.875rem; color: #cbd5e1; margin-top: 6px; }
.v2-gp-hero .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 14px; }
.v2-gp-hero .stats div { border-radius: 14px; padding: 10px 12px; }
.v2-gp-hero .stats span { display: block; font-size: 0.8125rem; font-weight: 700; }
.v2-gp-hero .stats b { display: block; font-size: 1.625rem; font-weight: 800; margin-top: 2px; }
.v2-gp-hero .stats .yes { background: var(--v2-green); color: var(--v2-green-ink); }
.v2-gp-hero .stats .no { background: var(--v2-navy-2); color: #fff; }
.v2-gp-hero .stats .no span { color: var(--v2-sky); }
.v2-gp-hero .stats .wait { background: #fcd34d; color: #3b2a00; }
.v2-gp-hero .btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.v2-gp-hero .btns button { height: 50px; border: none; border-radius: 13px; font-size: 0.9375rem; font-weight: 800; cursor: pointer; }
.v2-gp-hero .btns .kakao { background: #fee500; color: #191919; }
.v2-gp-hero .btns .white { background: #fff; color: var(--v2-ink); }
.v2-gp-h { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.v2-gp-h b { font-size: 1.0625rem; font-weight: 800; color: var(--v2-ink); }
.v2-gp-h span { font-size: 0.8125rem; color: var(--v2-sub); }
.v2-gp-mini { border: 1px solid #cbd5e1; background: #fff; border-radius: 10px; height: 36px; padding: 0 12px; font-size: 0.8125rem; font-weight: 800; color: var(--v2-ink); cursor: pointer; }
.v2-gp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-gp-chip { border: 1px solid transparent; border-radius: 999px; padding: 7px 12px; font-size: 0.875rem; font-weight: 700; cursor: pointer; }
.v2-gp-chip.yes { background: var(--v2-green-bg); color: var(--v2-green-dark); }
.v2-gp-chip.no { background: #eef2f7; color: #64748b; }
.v2-gp-chip.wait { background: #fffbeb; color: #b45309; border: 1px dashed #f59e0b; }
.v2-gp-chip.me { box-shadow: 0 0 0 2px var(--v2-blue); }
.v2-gp-team { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid #eef2f6; }
.v2-gp-team:first-of-type { border-top: none; }
.v2-gp-team b { font-size: 0.9375rem; font-weight: 800; color: var(--v2-blue); width: 30px; flex-shrink: 0; }
.v2-gp-team span { flex: 1; min-width: 0; font-size: 0.9375rem; color: #334155; line-height: 1.45; }
.v2-gp-team span em { font-style: normal; color: var(--v2-sub); font-size: 0.8125rem; }
.v2-gp-team i { font-style: normal; font-size: 0.875rem; color: var(--v2-sub); flex-shrink: 0; }
.v2-gp-car { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 0; font-size: 0.9375rem; color: #334155; }
.v2-gp-car b { font-weight: 800; color: #475569; flex-shrink: 0; }
.v2-gp-car b.ok { color: var(--v2-green-dark); }
.v2-gp-info { display: flex; gap: 12px; padding: 6px 0; font-size: 0.9375rem; }
.v2-gp-info span { width: 76px; color: var(--v2-sub); flex-shrink: 0; }
.v2-gp-info b { color: var(--v2-ink); font-weight: 700; flex: 1; min-width: 0; }

/* ========== 스코어 직접 입력 ========== */
.v2-sc-overlay { position: fixed; inset: 0; z-index: 999; background: rgba(15,23,42,0.4); display: flex; justify-content: center; transition: opacity .3s; }
.v2-sc-sheet { background: var(--v2-bg); width: 100%; max-width: var(--app-w, 480px); height: 100%; display: flex; flex-direction: column; transition: transform .3s cubic-bezier(0.2,0.8,0.2,1); }
.v2-sc-body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 14px 16px 20px; display: flex; flex-direction: column; gap: 12px; }
.v2-sc-info .row { display: flex; align-items: center; gap: 12px; }
.v2-sc-info b { display: block; font-size: 1.0625rem; font-weight: 800; color: var(--v2-ink); }
.v2-sc-info small { display: block; font-size: 0.875rem; color: var(--v2-sub); margin-top: 4px; line-height: 1.45; }
.v2-sc-half { display: flex; gap: 8px; margin-bottom: 12px; }
.v2-sc-half button { border: 1px solid var(--v2-line); background: #fff; border-radius: 999px; height: 38px; padding: 0 16px; font-size: 0.875rem; font-weight: 700; color: #475569; cursor: pointer; }
.v2-sc-half button.on { background: var(--v2-navy); border-color: var(--v2-navy); color: #fff; }
.v2-sc-cells { display: grid; grid-template-columns: repeat(9, 1fr); gap: 4px; }
.v2-sc-cells button { border: 1px solid var(--v2-line); background: #fff; border-radius: 10px; padding: 6px 0 5px; display: flex; flex-direction: column; align-items: center; cursor: pointer; min-width: 0; }
.v2-sc-cells button span { font-size: 0.8125rem; color: #334155; font-weight: 700; }
.v2-sc-cells button small { font-size: 0.625rem; color: #94a3b8; }
.v2-sc-cells button b { font-size: 0.9375rem; font-weight: 800; color: var(--v2-ink); margin-top: 2px; }
.v2-sc-cells button.cur { border: 2px solid var(--v2-blue); background: #eef5ff; }
.v2-sc-cells button.bird b { color: #fff; background: var(--v2-blue); border-radius: 50%; width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; font-size: 0.8125rem; }
.v2-sc-cells button.par b { border: 1.5px solid #94a3b8; border-radius: 5px; padding: 0 4px; }
.v2-sc-cells button.bogey b { background: #fde68a; border-radius: 5px; padding: 0 4px; }
.v2-sc-cells button.dbl b { background: #fca5a5; border-radius: 5px; padding: 0 4px; }
.v2-sc-legend { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 10px; font-size: 0.75rem; color: #475569; }
.v2-sc-legend span { display: inline-flex; align-items: center; gap: 4px; }
.v2-sc-legend i { display: inline-block; width: 11px; height: 11px; border-radius: 3px; }
.v2-sc-pad { background: var(--v2-navy); color: #fff; border-radius: 22px; padding: 18px; }
.v2-sc-pad .hd { display: flex; justify-content: space-between; align-items: center; }
.v2-sc-pad .hd b { font-size: 1.1875rem; font-weight: 800; }
.v2-sc-pad .hd span { font-size: 0.9375rem; color: var(--v2-sky); font-weight: 700; }
.v2-sc-pad .step { display: flex; align-items: center; justify-content: center; gap: 34px; margin: 14px 0; }
.v2-sc-pad .step button { width: 62px; height: 62px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,0.35); background: transparent; color: #fff; font-size: 1.75rem; cursor: pointer; }
.v2-sc-pad .step b { font-size: 3rem; font-weight: 800; min-width: 50px; text-align: center; }
.v2-sc-pad .step b.dim { opacity: 0.45; }
.v2-sc-pad .quick { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.v2-sc-pad .quick button { height: 46px; border: none; border-radius: 12px; background: var(--v2-navy-2); color: #fff; font-size: 0.9375rem; font-weight: 800; cursor: pointer; }
.v2-sc-pad .quick button:active { background: var(--v2-navy-3); }
.v2-sc-pad p { text-align: center; font-size: 0.8125rem; color: var(--v2-sky); margin: 12px 0 0; }
.v2-sc-tot { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 8px; }
.v2-sc-tot label { background: #f1f4f9; border-radius: 14px; padding: 10px 12px; }
.v2-sc-tot span { display: block; font-size: 0.8125rem; color: var(--v2-sub); }
.v2-sc-tot input { width: 100%; border: none; background: transparent; font-size: 1.375rem; font-weight: 800; color: var(--v2-ink); outline: none; padding: 0; margin-top: 2px; }
.v2-sc-tot .sum { background: var(--v2-blue-bg); }
.v2-sc-sub { font-size: 0.875rem; color: var(--v2-sub); margin: 14px 0 8px; }
.v2-sc-photos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.v2-sc-ph { aspect-ratio: 1; }
.v2-sc-ph .add { width: 100%; height: 100%; border-radius: 14px; background: #f1f4f9; border: 1.5px dashed #cbd5e1; display: flex; align-items: center; justify-content: center; font-size: 0.9375rem; color: #64748b; font-weight: 700; cursor: pointer; box-sizing: border-box; }
.v2-sc-ph .pv { position: relative; width: 100%; height: 100%; border-radius: 14px; overflow: hidden; }
.v2-sc-ph .pv img { width: 100%; height: 100%; object-fit: cover; }
.v2-sc-ph .pv button { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; border-radius: 50%; border: none; background: rgba(0,0,0,0.55); color: #fff; font-size: 0.6875rem; cursor: pointer; }
#record-diary { width: 100%; box-sizing: border-box; border: none; background: #f1f4f9; border-radius: 14px; padding: 12px 14px; font-size: 1rem; font-family: inherit; resize: none; outline: none; color: var(--v2-ink); }
.v2-sc-foot { background: #fff; border-top: 1px solid var(--v2-line); padding: 12px 16px calc(12px + var(--safe-bottom)); }
.v2-sc-foot .sum { display: flex; justify-content: space-between; align-items: baseline; font-size: 0.9375rem; color: #475569; margin-bottom: 10px; }
.v2-sc-foot .sum b { color: var(--v2-ink); font-weight: 800; }
.v2-sc-foot .sum #sc-foot-t { font-size: 1.25rem; }
#sc-save.wait { background: #e2e8f0; color: #475569; }
.v2-sc-del { flex-shrink: 0; height: 54px; padding: 0 18px; border-radius: 16px; border: 1px solid #fecaca; background: #fff; color: #dc2626; font-size: 1rem; font-weight: 800; cursor: pointer; }

/* ── 아이폰: 문서 전체가 튕기며(바운스) 하단 메뉴가 위로 딸려 올라가던 문제 ──
   문서는 고정하고 화면(.screen) 안에서만 스크롤 → 하단 메뉴는 항상 바닥에 붙어 있음 */
html, body { height: 100%; overflow: hidden; overscroll-behavior: none; }
#app { height: 100%; min-height: 0; }
.screen.active { height: 100vh; height: 100dvh; min-height: 0; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior-y: contain; }

/* 홈 바로가기: 예전 3D 아이콘 */
.v2-tile i.img { width: 46px; height: 46px; border-radius: 14px; }
.v2-tile i.img img { width: 34px; height: 34px; object-fit: contain; pointer-events: none; }
.v2-new-ico.img img { width: 38px; height: 38px; object-fit: contain; pointer-events: none; }
/* 골퍼 그림 양옆을 부드럽게 흐리게 (잘린 가장자리가 티 나지 않게) */
.home-glounge-hero .glounge-hero-figure {
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 22%, #000 78%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000 22%, #000 78%, transparent 100%);
}

/* 홈 '새 라운딩 등록' 카드: 설명 한 줄 + 칸 작게 */
.v2-new-card { padding: 12px 14px; gap: 12px; border-radius: 18px; }
.v2-new-card .v2-new-ico { width: 42px; height: 42px; border-radius: 12px; }
.v2-new-card .v2-new-ico.img img { width: 32px; height: 32px; }
.v2-new-card b { font-size: 1rem; }
.v2-new-card small { font-size: min(0.8125rem, 3.25vw); letter-spacing: -0.2px; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ===== 풀스크린 알람 (마이플래너 스타일) ===== */
.v2-alarm{position:fixed;inset:0;z-index:10050;background:radial-gradient(120% 70% at 50% 0%,#17346f 0%,#0b1d45 55%,#071431 100%);color:#fff;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top) + 24px) 22px calc(env(safe-area-inset-bottom) + 24px);opacity:0;transition:opacity .25s ease}
.v2-alarm.on{opacity:1}
.v2-alarm-in{width:100%;max-width:420px;text-align:center;display:flex;flex-direction:column;align-items:center}
.v2-alarm-top{font-size:0.9375rem;color:rgba(255,255,255,.7);font-weight:600;letter-spacing:-.01em}
.v2-alarm-time{font-size:min(6.5rem,26vw);line-height:1;font-weight:800;color:#2fd8a0;letter-spacing:-.04em;margin:14px 0 10px;font-variant-numeric:tabular-nums;text-shadow:0 6px 30px rgba(18,184,134,.35)}
.v2-alarm-head{font-size:1.375rem;font-weight:800;letter-spacing:-.02em;margin-bottom:26px}
.v2-alarm-card{width:100%;text-align:left;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:7px;margin-bottom:26px}
.v2-alarm-c1{font-size:0.8125rem;color:rgba(255,255,255,.6);font-weight:600}
.v2-alarm-c2{font-size:1.0625rem;font-weight:800;line-height:1.4}
.v2-alarm-c3{font-size:0.875rem;color:#ffd166;font-weight:600}
.v2-alarm-c4{font-size:0.875rem;color:rgba(255,255,255,.75)}
.v2-alarm-btns{width:100%;display:flex;flex-direction:column;gap:10px}
.v2-alarm-ok{width:100%;height:58px;border:0;border-radius:16px;background:#12b886;color:#fff;font-size:1.125rem;font-weight:800;box-shadow:0 10px 24px -10px rgba(18,184,134,.8)}
.v2-alarm-row{display:flex;gap:10px}
.v2-alarm-row button{flex:1;height:50px;border-radius:14px;background:transparent;border:1px solid rgba(255,255,255,.28);color:#fff;font-size:0.9375rem;font-weight:700}
.v2-alarm-row button:disabled{opacity:.35}
.v2-alarm button:active{transform:scale(.98)}
.v2-alarm-foot{margin-top:18px;font-size:0.8125rem;color:rgba(255,255,255,.55)}
.v2-alarm-c3.soft{color:rgba(255,255,255,.8)}
.v2-alarm-c5{font-size:0.875rem;color:rgba(255,255,255,.8);font-weight:600}
.v2-alarm-c5.warn{color:#ff8a7a}
/* 알람: 내용은 위로, 버튼은 아래로 */
.v2-alarm{align-items:stretch;padding-top:calc(env(safe-area-inset-top) + 36px)}
.v2-alarm-in{height:100%;margin:0 auto}
.v2-alarm-btns{margin-top:auto}
.v2-alarm-card{margin-bottom:16px}

/* 캘린더: 단체 일정 표시 */
.v2-cal-cell .cal-dots{display:flex;gap:3px;height:6px;margin-top:3px}
.v2-cal-cell .cal-dots .dot{display:block;width:6px;height:6px;border-radius:50%;margin:0;background:var(--v2-green)}
.v2-cal-cell .cal-dots .dot.g{background:#7048e8}
.v2-pill.grp{background:#efeaff;color:#5b3fd1;margin-left:auto;margin-right:6px}
.v2-grpcard{cursor:pointer;border-left:4px solid #7048e8}

/* PRO 전용 표시 (PRO 회원에게는 숨김) */
.pro-tag{position:absolute;top:7px;right:7px;z-index:2;display:inline-flex;align-items:center;height:17px;padding:0 6px;border-radius:6px;background:linear-gradient(135deg,#f7c948,#e8a317);color:#3b2a00;font-size:0.625rem;font-weight:900;letter-spacing:.03em;line-height:1;box-shadow:0 1px 3px rgba(180,120,0,.3);font-style:normal}
.pro-tag.inline{position:static;margin-left:6px;vertical-align:middle}
.v2-tile{position:relative}
.gnb-ai-btn-bubble{position:relative}
.gnb-ai-btn-bubble .pro-tag{top:-6px;right:-10px;border:2px solid #fff;height:19px}
body.is-pro .pro-tag,body.is-pro .pro-note{display:none!important}
/* 출시 기념 무료 기간: 'PRO'(잠김처럼 보임) 대신 초록 '무료' 표시 */
body.is-promo .pro-tag{background:#059669!important;color:#fff;box-shadow:none!important;font-size:0!important;letter-spacing:0}
body.is-promo .pro-tag::after{content:'무료';font-size:0.6875rem;font-weight:800}
body.is-promo .pro-note{display:none!important}

/* PRO 웹 결제 (토스) */
.upg-plan-web{display:flex;justify-content:space-between;align-items:baseline;padding:16px 18px;border:2px solid var(--v2-green);border-radius:16px;background:#f0fbf6;margin-bottom:10px}
.upg-plan-web b{font-size:1.0625rem;font-weight:800;color:var(--v2-navy)}
.upg-plan-web span{font-size:1.375rem;font-weight:900;color:var(--v2-navy)}
.upg-web-note{font-size:0.8125rem;color:#5b6475;margin:0 4px 12px;line-height:1.5}
.upg-agree{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;margin:10px 0;border:1px solid #e3e7ee;border-radius:14px;background:#fff;cursor:pointer;font-size:0.875rem;font-weight:700;color:var(--v2-navy);line-height:1.5;text-align:left}
.upg-agree input{-webkit-appearance:checkbox;appearance:auto;display:inline-block;opacity:1;position:static;width:22px;height:22px;flex-shrink:0;accent-color:var(--v2-green);margin-top:1px}
.upg-agree small{display:block;font-weight:500;color:#5b6475;font-size:0.78rem}
.pay-rows{width:100%;text-align:left;border:1px solid #e3e7ee;border-radius:14px;padding:4px 14px;margin:4px 0 12px}
.pay-rows div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #f0f2f5;font-size:0.875rem}
.pay-rows div:last-child{border-bottom:none}
.pay-rows span{color:#5b6475}.pay-rows b{color:var(--v2-navy);text-align:right;word-break:break-all}
.pay-fail-reason{width:100%;text-align:left;background:#fff4f2;color:#a63a24;border-radius:12px;padding:10px 12px;font-size:0.875rem;line-height:1.5;margin-bottom:12px}
#toss-methods,#toss-agreement{margin:0 -8px}

/* 럭키드로우: 출석·포인트 안내·연장 */
.rf-btns{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.rf-att.done{opacity:.55}
.rf-how{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:10px 14px;margin:0 0 12px;font-size:0.8125rem;color:#334155}
.rf-how summary{font-weight:800;color:#0b1d45;cursor:pointer}
.rf-how ul{margin:8px 0 2px;padding-left:18px;line-height:1.7}
.rf-ext{font-size:0.75rem;color:#b45309;background:#fffbeb;border-radius:8px;padding:6px 8px;margin:6px 0}

/* 홈: 새 라운딩 등록 + 단체 등록 2칸 (아이콘 왼쪽 · 글자 오른쪽) */
.v2-new-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v2-new-pair .v2-new-card{gap:10px;padding:12px}
.v2-new-pair .v2-new-txt{min-width:0;flex:1}
.v2-new-pair .v2-new-card b{display:flex;align-items:center;font-size:0.95rem;white-space:nowrap;letter-spacing:-0.3px}
.v2-new-pair .v2-new-card small{font-size:0.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-new-pair .pro-tag.inline{margin-left:5px;height:16px;padding:0 5px;font-size:0.6rem;box-shadow:none}

/* PRO 화면: 출시 기념 무료 안내 */
.upg-promo{margin:4px 0 8px;padding:18px 16px;border-radius:18px;background:linear-gradient(135deg,#fff7d6,#ffefc2);border:1px solid #fde68a;text-align:center}
.upg-promo b{display:block;font-size:1.1rem;font-weight:900;color:#92400e;margin-bottom:6px}
.upg-promo p{font-size:0.875rem;color:#78350f;line-height:1.55;margin-bottom:14px}

/* 공유 화면: 바로 길안내 (로그인 없이) */
.qnav{margin-top:14px;padding:14px;border-radius:16px;background:#f0f7ff;border:1px solid #dbeafe;text-align:left}
.qnav-h{font-size:15px;font-weight:800;color:#0f172a}
.qnav-h small{display:block;font-size:12.5px;font-weight:600;color:#64748b;margin-top:2px}
.qnav-dest{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.qnav-chip{height:32px;padding:0 12px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:13px;font-weight:700;cursor:pointer}
.qnav-chip.on{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.qnav-to{margin-top:10px;font-size:14px;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qnav-b{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.qnav-btn{height:46px;border-radius:12px;border:0;font-size:15px;font-weight:800;cursor:pointer}
.qnav-btn.tmap{background:#3461e6;color:#fff}
.qnav-btn.kakao{background:#fbe54d;color:#1f2937}
.modal-card .qnav{margin:-8px 0 18px}

/* 홈: 차에 타면 자동 길안내 홍보 줄 */
.anp { position:relative; margin:0 0 12px; }
.anp-go { display:flex; align-items:center; gap:10px; padding:11px 40px 11px 12px; border-radius:16px; background:#0F172A; color:#fff; text-decoration:none; }
.anp-ic { flex:none; width:34px; height:34px; border-radius:10px; display:grid; place-items:center; background:#059669; color:#fff; }
.anp-t { flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
.anp-t b { font-size:14.5px; font-weight:800; letter-spacing:-0.3px; }
.anp-t small { font-size:12px; color:#CBD5E1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.anp-btn { flex:none; height:30px; padding:0 10px; border-radius:9px; background:#fff; color:#047857; font-size:13px; font-weight:800; display:grid; place-items:center; }
.anp-x { position:absolute; top:50%; right:6px; transform:translateY(-50%); width:30px; height:30px; border:0; background:transparent; color:#94A3B8; font-size:14px; cursor:pointer; }

/* 앱 배너 광고(AdMob)가 화면 아래에 떠 있으면 아래 고정 버튼을 광고 위로 올림 */
body.has-admob .v2-reg-foot { padding-bottom: calc(var(--admob-h, 115px) + var(--safe-bottom) + 6px); }

/* 마이 › 알람 소리: 예약된 알람 창 */
.al-sheet{padding-top:4px}
.al-sheet-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.al-sheet-list li{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--v2-line);border-radius:14px;background:#fff}
.al-sheet-list b{font-size:1rem;font-weight:800;color:var(--v2-navy,#0f1f3d)}
.al-sheet-list span{font-size:0.9375rem;font-weight:700}
.al-sheet-list small{font-size:0.8125rem;color:#55607a;line-height:1.4}
.al-sheet-hint{font-size:0.8125rem;color:#55607a;line-height:1.5;margin:0 2px 12px}
.al-sheet-warn{font-size:0.9375rem;font-weight:700;color:#b42318;line-height:1.5;margin:0 2px 12px}

/* 앱 안 자동 길안내 가이드: 위 시계 줄은 비우고, 아래 메뉴는 보이게 */
#an-guide{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:var(--app-w);bottom:calc(var(--nav-h) + max(calc(var(--safe-bottom) - 20px), 0px));z-index:60;background:#fff;display:flex;flex-direction:column}
#an-guide .ang-bar{flex:none;display:flex;align-items:center;gap:4px;padding:calc(env(safe-area-inset-top, 0px) + 6px) 12px 6px 4px;border-bottom:1px solid #e5e7eb;background:#fff}
#an-guide .ang-bar b{font-size:1.0625rem;font-weight:800;color:#0f172a}
#an-guide .ang-back{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;background:none;color:#0f172a;cursor:pointer}
#an-guide iframe{flex:1;width:100%;border:0;display:block}
body.guide-open .bottom-nav{z-index:70}
