/* 단어 화면(body.vk) 덧붙임 — 옮긴 voca.css 위에 우리 칸(채점 그림 P34 · 오늘 학습 · 연도 띠 · 출처 줄 · 아래 탭)만. 색은 voca.css 토큰만 씀 */
body.vk{--tab:#1c1a25;--tab-off:#a9a5bb;overflow-x:hidden}
body.vk .app{max-width:520px;margin:0 auto}
body.vk .app.with-tabs{padding-bottom:calc(96px + var(--sa-bottom))}
body.vk .tab-ic{position:relative;display:block;height:22px}
body.vk .badge{position:absolute;top:-5px;left:15px;display:inline-block;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e5484d;color:#fff;font-size:11px;font-weight:800;font-style:normal;line-height:18px;text-align:center}
body.vk .badge[hidden]{display:none}
body.vk .toast{bottom:calc(110px + var(--sa-bottom))}

/* P34 채점 그림 — X(깜깜해요) · △(가물가물) · O(또렷해요). 선 그림만, 글자 없음 */
body.vk .gstrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line-2);border-radius:12px;overflow:hidden;background:var(--card)}
body.vk .gcell{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:54px;color:var(--text-2);cursor:pointer;border-left:1px solid var(--line-2)}
body.vk .gcell:first-child{border-left:0}
body.vk .gcell:focus-visible{outline:2px solid var(--acc);outline-offset:-3px}
body.vk .gcell.on{background:var(--grad);color:#FFFFFF}
body.vk .gstrip.picked .gcell:not(.on){color:var(--text-3)}
body.vk .btn-row.checks.gstrip{border:0;border-radius:0;overflow:visible;background:none;gap:8px}
body.vk .btn.gbtn{padding:0 4px;color:var(--text-2)}
body.vk .btn.gbtn.on{color:#FFFFFF}
body.vk .gmark{display:inline-flex;align-items:center;vertical-align:middle;color:var(--acc)}
body.vk .gmark.g-no{color:#C2362B}
body.vk .gmark.g-unsure{color:#B7791F}
body.vk .gmark.g-yes{color:var(--acc)}
/* 0.8.1 채점표 맞은 칸 O(11-03 요청) — 단어 퀴즈 O 와 같은 --good(어두운 테마는 theme.css 의 --good) */
body.vk .mq-grid .dcell.done .gmark.g-ok{color:var(--good)}
body.vk .gchip{display:inline-flex;align-items:center;gap:2px}
body.vk .wrow .state .gmark{margin-right:2px}
body.vk .wrow .fav-mark{display:inline-flex;color:var(--acc);flex:0 0 auto}
body.vk .pop-counts .gmark{margin-right:2px}

/* 카드 — 이전/다음 같은 폭(0.3.2) */
body.vk .card-actions{gap:8px}
body.vk .card-nav .btn{min-height:48px}
body.vk .csrc{font-size:12px;line-height:18px;color:var(--text-3);margin-top:-6px}
body.vk .csyn{font-size:13px;line-height:20px;color:var(--text-2)}
body.vk .cmean.big{font-size:calc(22px * var(--fs));line-height:1.4;font-weight:700}
body.vk .cpos{font-size:12px;color:var(--text-3);margin-top:-6px}
body.vk .ccard .link-btn,body.vk .ccard #know-state{font-size:12px}

/* Day 선택 — 우리 「오늘 학습」 칸 + 3 단추(OX 없음) */
body.vk .vk-tiles{margin-top:6px}
body.vk .today-card{display:flex;flex-direction:column;gap:0;padding:14px 18px}
body.vk .today-card .tc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
body.vk .today-card .kv{min-height:34px;border-bottom:1px solid var(--border)}
body.vk .today-card .kv:last-child{border-bottom:0}
body.vk .today-card .kv b{font-size:16px;font-variant-numeric:tabular-nums}
body.vk .foot3{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px}
body.vk .foot3 .btn{min-height:48px;padding:0 4px;font-size:15px}

/* 단어 상세 — 연도 띠 · 출처 줄(P29: 연도 + 직렬만) */
body.vk .heat{display:grid;grid-template-columns:repeat(20,1fr);gap:2px;margin-top:6px}
body.vk .heat i{display:block;height:16px;border-radius:3px;background:var(--track)}
body.vk .heat i.l{background:#B9C8EE}body.vk .heat i.m{background:#6F8BD9}body.vk .heat i.h{background:var(--acc)}
body.vk .heat i.ex{outline:1.5px solid var(--text-2);outline-offset:-1.5px}
body.vk .heat-ax{display:flex;justify-content:space-between;font-size:11px;color:var(--text-3);margin-top:2px}
body.vk .src-line{font-size:14px;line-height:22px;color:var(--text)}
body.vk .know-line{text-align:center}

/* 복습 탭 */
body.vk .rev-hero p{text-align:left}
body.vk .tabs a{color:var(--tab-off)}
body.vk .tabs a.on{color:#FFFFFF}

/* 껍데기 화면(0.4.1, P35) — 홈 · 내 정보 · 학습 현황 · 학습 설정 · 개념/문제 풀이 자리. body.vk.shell, 우리 배치 그대로 · 색과 부품은 voca.css 토큰만(--grad · --primary · --text* · --card · --shadow · --surface · --border · --line-2 · --good · --bad) */
body.vk.shell .app svg{width:20px;height:20px}
body.vk.shell .mrow .mi svg{width:18px;height:18px}
body.vk.shell .band .icon-btn svg{width:24px;height:24px}
body.vk.shell .hm-head{display:flex;align-items:center;justify-content:space-between;min-height:48px}
body.vk.shell .hm-name{font-size:15px;line-height:22px;font-weight:800;color:var(--primary);letter-spacing:-.01em}
body.vk.shell .hm-head .icon-btn svg{width:22px;height:22px}
body.vk.shell .hm-menu{display:grid;gap:12px}
body.vk.shell .hm-hero{position:relative;overflow:hidden;display:grid;gap:12px;padding:16px 18px 18px;border-radius:16px;background:var(--grad);color:#FFFFFF;box-shadow:0 10px 24px rgba(20,36,74,.22)}
body.vk.shell .hm-hero::after{content:"";position:absolute;right:-110px;top:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,0) 70%);pointer-events:none}
body.vk.shell .hm-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;color:#FFFFFF;text-decoration:none;font-size:15px;line-height:22px;font-weight:700}
body.vk.shell .hm-more{display:inline-flex;align-items:center;font-size:13px;font-weight:500;opacity:.75}
body.vk.shell .hm-more svg{width:15px;height:15px}
body.vk.shell .hm-mid{position:relative;z-index:1;display:flex;align-items:center;gap:12px}
body.vk.shell .hm-txt{flex:1;min-width:0}
body.vk.shell .hm-date{font-size:12px;line-height:18px;opacity:.75}
body.vk.shell .hm-big{margin:4px 0 6px;font-size:23px;line-height:31px;font-weight:700;letter-spacing:-.01em}
/* 0.9.8 좁은 폰(320)에서 「남았어 / 요」처럼 낱말 가운데서 끊기지 않게 띄어쓰기에서만 줄 바꿈(글자 크기 그대로 — 390 이상은 두 줄 그대로) */
body.vk.shell .hm-txt .hm-big{word-break:keep-all}
/* 0.9.8: 0.8.1 의 「머리말 한 줄 · 좁은 폰 글자 줄임」(.hm-big.hm-day clamp) 지움 — 11-04 요청: 다시 두 줄(「오늘 Day n,」/「m개 남았어요」) · 23px */
body.vk.shell .hm-sub{font-size:13px;line-height:18px;opacity:.85}
body.vk.shell .hm-ring{position:relative;width:108px;height:108px;flex:none}
body.vk.shell .hm-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
body.vk.shell .hm-ring circle{fill:none;stroke-width:9}
body.vk.shell .hm-ring .r-bg{stroke:var(--hero-line)}
body.vk.shell .hm-ring .r-fg{stroke:#FFFFFF;stroke-linecap:round}
body.vk.shell .hm-ring .r-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}
body.vk.shell .hm-ring .r-in small{font-size:11px;opacity:.75}
body.vk.shell .hm-ring .r-in b{font-size:21px;font-weight:700;font-variant-numeric:tabular-nums}
body.vk.shell .hm-hero .hh-cta{margin-top:4px;z-index:1;text-decoration:none}
body.vk.shell .hh-cta svg{width:18px;height:18px}
body.vk.shell .hm-mcard{min-height:84px;padding:14px 18px;text-decoration:none}
body.vk.shell .hm-mcard .title{font-size:19px;line-height:27px;font-weight:700}
body.vk.shell .hm-mcard .sub{font-size:13px}
body.vk.shell .hm-soon,body.vk.concept .cx-soon .hm-soon,body.vk.mock .mq-soon .hm-soon{flex:none;padding:4px 12px;border-radius:999px;background:var(--surface);color:var(--text-2);font-size:12px;line-height:18px;font-weight:600;white-space:nowrap}
body.vk.shell .hm-me{padding:18px 20px;border-radius:16px;background:var(--grad);color:#FFFFFF}
body.vk.shell .hm-me-k{font-size:13px;line-height:18px;opacity:.85}
body.vk.shell .hm-me-nums{display:grid;grid-template-columns:1fr 1fr;margin-top:8px}
body.vk.shell .hm-me-nums div{display:grid}
body.vk.shell .hm-me-nums b{font-size:28px;line-height:36px;font-weight:700;font-variant-numeric:tabular-nums}
body.vk.shell .hm-me-nums small{font-size:12px;line-height:18px;opacity:.85}
body.vk.shell .group .mrow{text-decoration:none}
body.vk.shell .group .mrow:last-child{border-bottom:0}
body.vk.shell .mrow .chev svg{width:18px;height:18px}
body.vk.shell .hm-nums{display:flex;flex-direction:column;padding:14px 18px}
body.vk.shell .hm-nums .kv{min-height:40px;font-size:15px}
body.vk.shell .hm-nums .kv b{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}
body.vk.shell .hm-cap{font-size:13px;line-height:18px;font-weight:600;color:var(--text-2);margin-bottom:2px}
body.vk.shell .hm-sets{padding:2px 16px}
body.vk.shell .hm-set{min-height:56px;border-bottom:1px solid var(--border);font-size:15px}
body.vk.shell .hm-set:last-child{border-bottom:0}
body.vk.shell .hm-sel{max-width:52%;padding:7px 10px;border:1px solid var(--line-2);border-radius:10px;background:var(--card);color:var(--text);font:inherit;font-size:14px;font-weight:600}
body.vk.shell .hm-note{margin:-4px 4px 0}
body.vk.shell .hm-line{padding:14px 18px;min-height:56px}
body.vk.shell .hm-line > span:first-child{white-space:nowrap}
body.vk.shell .hm-ok{color:var(--good);font-weight:600}
body.vk.shell .hm-bad{color:var(--bad);font-weight:600;text-align:right}
body.vk.shell .hm-k{color:var(--text-2);font-size:13px;line-height:18px;text-align:right}
body.vk.shell .hm-stack{display:flex;flex-direction:column;gap:10px}
body.vk.shell .hm-dash{text-align:center;background:var(--surface);border:1px dashed var(--line-2);box-shadow:none;display:flex;flex-direction:column;gap:6px}
body.vk.shell .hm-empty{text-align:center;display:flex;flex-direction:column;gap:10px}

/* 문제 풀이(0.5.0, 90 §2·§3) — body.vk.mock. 새 모양 없음: 배치(격자·말풍선 줄·내어쓰기)만, 색·글꼴은 voca.css 토큰만.
 * 지문 상자에 높이 상한·안쪽 스크롤·고정 위치 없음(60 §3-1). 긴 낱말(주소·이메일)은 접음. */
body.vk.mock .band .icon-btn svg,body.vk.concept .band .icon-btn svg{width:24px;height:24px}
body.vk.mock .mq-numline{margin:-6px 0 -6px}
body.vk.mock .mq-ghead .pq-no{margin-right:6px}
body.vk.mock .mq-pass,body.vk.concept .mq-pass{padding:16px;display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere}
body.vk.mock .mq-pass .mq-p,body.vk.concept .mq-pass .mq-p{margin:0}
body.vk.mock .mq-webh{display:flex;flex-direction:column;padding-bottom:8px;border-bottom:1px solid var(--border)}
body.vk.mock .mq-site{font-size:14px;line-height:20px;font-weight:700;color:var(--text-2)}
body.vk.mock .mq-url{overflow-wrap:anywhere}
body.vk.mock .mq-slot{font-weight:700;text-align:center;padding:2px 0;border:1px dashed var(--line-2);border-radius:8px}
body.vk.mock .mq-h{font-weight:600}
body.vk.mock .mq-h1{font-size:18px;line-height:26px;font-weight:700}
body.vk.mock .mq-li,body.vk.concept .mq-li{display:flex;gap:8px}
body.vk.mock .mq-mk,body.vk.concept .mq-mk{flex:0 0 auto;color:var(--text-2)}
body.vk.mock .mq-lt,body.vk.concept .mq-lt{min-width:0}
body.vk.mock .mq-mail{margin:0;display:flex;flex-direction:column;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--border);font-size:14px;line-height:21px}
body.vk.mock .mq-mrow{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px}
body.vk.mock .mq-mail dt{color:var(--text-3);font-weight:600}
body.vk.mock .mq-mail dd{margin:0;min-width:0;overflow-wrap:anywhere}
body.vk.mock .mq-dl{display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px}
body.vk.mock .mq-para b{margin-right:2px}
body.vk.mock .mq-chat{display:flex;flex-direction:column;gap:10px;background:var(--surface);margin:-4px;padding:12px 10px;border-radius:12px}
body.vk.mock .mq-msg{display:flex;gap:8px;align-items:flex-start}
body.vk.mock .mq-msg.r{flex-direction:row-reverse}
body.vk.mock .mq-av{width:36px;height:36px;border-radius:50%;flex:0 0 auto;object-fit:cover;background:var(--tint-soft)}
body.vk.mock .mq-ini{display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1;font-weight:700;color:var(--primary);background:var(--tint)}
body.vk.mock .mq-mb{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;max-width:calc(100% - 52px)}
body.vk.mock .mq-msg.r .mq-mb{align-items:flex-end}
body.vk.mock .mq-who{font-size:12px;line-height:16px;color:var(--text-2);font-weight:600}
body.vk.mock .mq-who span{font-weight:400;color:var(--text-3);margin-left:2px}
body.vk.mock .mq-bub{background:var(--card);border-radius:4px 14px 14px 14px;padding:8px 12px;font-size:15px;line-height:22px;box-shadow:var(--shadow);overflow-wrap:anywhere}
body.vk.mock .mq-msg.r .mq-bub{background:var(--tint-soft);border-radius:14px 4px 14px 14px}
body.vk.mock .mq-blank,body.vk.concept .mq-blank{display:inline-block;width:4.5em;height:1em;border-bottom:1.5px solid var(--text);vertical-align:-3px;margin:0 2px}
body.vk.mock .mq-slotn,body.vk.concept .mq-slotn{font-weight:700;white-space:nowrap}
body.vk.mock .mq-un,body.vk.concept .mq-un{font-weight:600;color:var(--text-2)}
body.vk.mock .mq-flow .ul{font-weight:inherit}
body.vk.mock .mq-given,body.vk.concept .mq-given{font-size:16px;line-height:26px}
body.vk.mock .mq-q,body.vk.concept .mq-q{color:var(--primary);font-weight:500}
body.vk.mock .options.mq-nums,body.vk.concept .options.mq-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
body.vk.mock .mq-nums .opt,body.vk.concept .mq-nums .opt{justify-content:center;padding:12px 0}
body.vk.mock .mq-nums .opt .k,body.vk.concept .mq-nums .opt .k{width:auto;font-size:18px;line-height:24px}
body.vk.mock .mq-headline{color:var(--primary)}
body.vk.mock .mq-xp{margin:0;font-size:14px;line-height:22px}
body.vk.mock .mq-xl{margin:0;padding-left:18px;font-size:14px;line-height:22px;display:flex;flex-direction:column;gap:4px}
body.vk.mock .mq-markrow{display:flex;justify-content:flex-end}
body.vk.mock .mq-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
body.vk.mock .mq-grid .dcell{width:100%;height:56px}
body.vk.mock .mq-dash{color:var(--text-3)}
body.vk.mock .mq-groups{display:flex;flex-direction:column;padding:14px 18px}
body.vk.mock .mq-groups .kv{min-height:38px}
body.vk.mock .mq-cap{font-size:13px;line-height:18px;font-weight:600;color:var(--text-2)}
body.vk.mock .mq-wt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;color:var(--text)}
body.vk.mock .mq-redo-r{margin-top:-2px}
/* 0.5.1 P40 다 풀고 한 번에 — 위 띠 오른쪽 「채점하기」 · 결과 해설 바닥 단추 셋 · 번호 칸 안내 줄 (배치만, 색은 토큰) */
body.vk.mock .cbar.mq-cbar2{grid-template-columns:76px minmax(0,1fr) 76px}
body.vk.mock .cbar.mq-cbar2 .mq-grade{justify-self:end;padding:0 10px;font-size:14px;white-space:nowrap}
body.vk.mock .btn-row.mq-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body.vk.mock .btn-row.mq-3 .btn{padding:0 4px}
body.vk.mock .mq-hint{margin:10px 0 0;text-align:center}
body.vk.shell #set-quiz .hm-sel{max-width:64%;min-width:150px} /* 0.5.1 「다 풀고 한 번에」 안 잘리게 */
/* 0.6.0 개념 학습(82 §3) — body.vk.concept. 지문·보기 번호 단추·주어진 문장·글머리는 위 문제 풀이 규칙에 선택자만 덧붙임(§3-6).
 * 새 클래스는 배치뿐(점 줄 cx-dots · 블록 간격 · 줄 지킴), 색은 voca.css 토큰만. */
body.vk.concept .cx-dots{display:flex;justify-content:center;gap:6px;margin:-6px 0 -4px}
body.vk.concept .cx-dots i{width:7px;height:7px;border-radius:50%;background:var(--track)}
body.vk.concept .cx-dots i.on{width:18px;border-radius:999px;background:var(--primary)}
body.vk.concept .cx-title{font-size:17px;line-height:24px}
body.vk.concept .cx-body{display:flex;flex-direction:column;gap:12px}
body.vk.concept .cx-p{margin:0;font-size:15px;line-height:24px;white-space:pre-line}
body.vk.concept .cx-li{font-size:15px;line-height:23px;white-space:pre-line;margin-top:-4px}
body.vk.concept .cx-li .mq-mk{width:10px}
body.vk.concept .cx-steps .steps{font-size:15px;line-height:24px;gap:10px}
body.vk.concept .cx-steps .steps li{white-space:pre-line}
body.vk.concept .cx-ex .ul{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;font-weight:700}
body.vk.concept .cx-check{display:flex;flex-direction:column;gap:10px}
body.vk.concept .cx-check+.cx-check{margin-top:6px;padding-top:16px;border-top:1px solid var(--border)}
body.vk.concept .cx-fbk{align-self:flex-start}
body.vk.concept .cx-xp{margin:0;font-size:14px;line-height:22px}
body.vk.concept .cx-dhead:first-child{margin-top:4px}
body.vk.concept .cx-foot3 .btn{white-space:nowrap}
/* 0.6.2 목록 「준비 중」 줄 — 회색(문제 풀이 막힌 회차 .exam:disabled 와 같은 토큰), 누를 수 없음(단추 아님 · 화살표 없음) */
body.vk.concept .cx-soon{background:var(--surface);box-shadow:none;cursor:default}
body.vk.concept .cx-soon .title{color:var(--text-3);font-weight:500}
body.vk.concept .cx-soon .ic{background:var(--track);color:var(--text-3)}
body.vk.concept .cx-soon .hm-soon{background:var(--card);color:var(--text-3)}
/* 0.9.2 잠긴 모의고사 회차 줄 — 개념 「준비 중」 줄(cx-soon)과 같은 꼴 */
body.vk.mock .mq-soon{background:var(--surface);box-shadow:none;cursor:default}
body.vk.mock .mq-soon .title{color:var(--text-3);font-weight:500}
body.vk.mock .mq-soon .ic{background:var(--track);color:var(--text-3)}
body.vk.mock .mq-soon .hm-soon{background:var(--card);color:var(--text-3)}
body.vk.mock .mq-locked{margin-top:12px}
/* 0.6.3 카드 안 확인 문제 「다 풀고 한 번에」(P43①) — 마지막 확인 문제 아래 채점 칸: [채점하기] → 「맞힌 문제 k/N」 + [다시 풀기]. 새 색 없음(토큰만) */
body.vk.concept .cx-gradebox{display:flex;flex-direction:column;gap:10px;margin-top:6px;padding-top:16px;border-top:1px solid var(--border)}
body.vk.concept .cx-score{text-align:center;font-size:15px;line-height:22px;color:var(--text-2);font-weight:600}
body.vk.concept .cx-score b{color:var(--primary);font-size:17px}
/* 0.6.4 예시 화면 「보기」(채점 안 함 — 문제 보기와 같은 줄 꼴, 누를 수 없음) · 대화 지문 줄(문제 풀이 대화 줄 .mq-dl 꼴, 이름 표지 폭에 맞춰 칸을 맞춤). 새 색 없음 */
body.vk.concept .cx-choices .opt{cursor:default}
body.vk.concept .mq-pass.mq-f-dialog{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 8px;align-items:baseline}
body.vk.concept .mq-f-dialog .mq-dl{display:contents}
body.vk.concept .mq-f-dialog .mq-lt{min-width:0;overflow-wrap:anywhere}
/* 0.7.0 화면 테마 고르기 — 「휴대폰 설정 따라가기」 안 잘리게(배치만) */
body.vk.shell #set-look .hm-sel{max-width:64%;min-width:170px}

/* ── 0.8.0 넓은 화면(P47 · P48 — 91) — html[data-layout="wide"](창 폭 ≥1024, js/theme.js) 아래에만. 폰 화면(narrow)은 0.7.1 그대로.
 * 본문 상자 = 왼쪽 옆 메뉴(--rail-w) 뒤 남은 폭의 가운데, 폭 상한 --cmax(화면마다 §4). 고정 요소(바닥 단추 띠 · 토스트 · 듣기 막대 · 설정판)도 본문 상자 폭.
 * 옆 메뉴 = 아래 탭 #tabs 그 요소(같은 링크 넷 · 배지). 색·글꼴은 토큰만, 새 색 없음. 키 안내 줄은 마우스 기기에서만. */
html[data-layout="wide"]{--rail-w:0px}
html[data-layout="wide"][data-rail="1"]{--rail-w:200px}
html[data-layout="wide"] body.vk{--cmax:640px;--cbox-w:min(var(--cmax), calc(100% - var(--rail-w)));--cbox-l:calc(var(--rail-w) + max(0px, (100% - var(--rail-w) - var(--cmax)) / 2));padding-left:var(--rail-w)}
html[data-layout="wide"][data-screen="cards"] body.vk,html[data-layout="wide"][data-screen="vquiz"] body.vk{--cmax:520px}
html[data-layout="wide"][data-screen="concept-card"] body.vk,html[data-layout="wide"][data-screen="mock"] body.vk,html[data-layout="wide"][data-screen="mock-item"] body.vk,html[data-layout="wide"][data-screen="mock-redo"] body.vk{--cmax:680px}
html[data-layout="wide"] body.vk.mock.mq-split-on{--cmax:1240px}
html[data-layout="wide"] body.vk .app{max-width:var(--cmax)}
html[data-layout="wide"] body.vk .app.with-tabs{padding-bottom:calc(24px + var(--sa-bottom))}
html[data-layout="wide"] body.vk .actions,html[data-layout="wide"] body.vk .sheet{left:var(--cbox-l);right:auto;width:var(--cbox-w)}
html[data-layout="wide"] body.vk .actions.over-tabs{bottom:var(--sa-bottom)}
html[data-layout="wide"] body.vk .toast{left:calc(var(--cbox-l) + 20px);right:auto;width:calc(var(--cbox-w) - 40px)}
html[data-layout="wide"][data-rail="1"] body.vk .toast{bottom:calc(24px + var(--sa-bottom))}
html[data-layout="wide"] body.vk .player{left:calc(var(--cbox-l) + 12px);right:auto;width:calc(var(--cbox-w) - 24px)}
html[data-layout="wide"] body.vk .app.with-tabs~.player{bottom:calc(12px + var(--sa-bottom))}
html[data-layout="wide"] body.vk.has-player .app{padding-bottom:calc(var(--sa-bottom) + 120px)}
html[data-layout="wide"] body.vk.has-player .toast{bottom:calc(100px + var(--sa-bottom))}
/* 옆 메뉴 — 아래 탭 띠를 왼쪽 세로 띠로(바탕 = 지금 탭 색 --tab, 켜진 칸 = 흰 굵은 글자 그대로) */
html[data-layout="wide"] body .tabs{left:0;top:0;bottom:0;transform:none;width:var(--rail-w);max-width:none;border-radius:0;flex-direction:column;justify-content:flex-start;gap:4px;padding:24px 12px;box-shadow:none}
html[data-layout="wide"] body .tabs a{flex-direction:row;gap:12px;min-width:0;padding:12px 14px;border-radius:12px;font-size:15px;line-height:22px}
html[data-layout="wide"] body.vk .tabs a .tab-ic{flex:0 0 auto}
/* 문제 두 칸(91 §3-2 · §3-4 W1~W3) — 화면 높이 전체 · 칸마다 스크롤 · 몸통은 스크롤 안 함 · 바닥 단추는 오른쪽 칸 아래 */
html[data-layout="wide"] body.vk.mock.mq-split-on{overflow:hidden}
html[data-layout="wide"] body.vk.mock .app.mq-twocol{height:100vh;height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}
body.vk.mock .mq-split{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,680fr) minmax(360px,520fr);gap:32px;justify-content:center} /* 남는 폭을 지문 680 : 문제 520 비율로(지문 칸이 먼저 줄지 않게) · 문제 칸 최소 360 */
body.vk.mock .mq-col{min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px;padding:2px 4px 20px}
body.vk.mock .mq-col>*{flex:none}
body.vk.mock .mq-colR-wrap{min-height:0;display:flex;flex-direction:column}
body.vk.mock .mq-colR{flex:1 1 auto}
body.vk.mock .mq-colR-wrap .actions{position:static;width:auto;padding:12px 4px calc(14px + var(--sa-bottom));z-index:auto}
/* 키 안내 한 줄(91 §5-4) — 넓은 화면에서만 그려지고, 마우스 기기에서만 보임 */
body.vk .kb-hint{display:none}
@media (hover:hover) and (pointer:fine){html[data-layout="wide"] body.vk .kb-hint{display:block;margin:0;text-align:center}}
/* 포커스 테두리(91 §5-3 A5) — 키보드로 옮길 때만 보임(두 테마 모두 토큰) */
body.vk .opt:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
body.vk.mock .mq-col:focus-visible{outline:2px solid var(--acc);outline-offset:-2px;border-radius:8px}
body .tabs a:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
/* 0.9.0 기록 맞추기 안내(92 §6) — config sync.enabled 일 때만 생기는 부품(gm-*). 꺼져 있으면 쓰이지 않음 */
body.vk .pop.gm-sheet{width:min(360px,100%);padding:22px 20px 8px;text-align:left;max-height:calc(100vh - 40px);overflow:auto}
body.vk .gm-sheet .gm-h{margin:0 0 8px;font-size:17px;line-height:24px;font-weight:700;color:var(--text)}
body.vk .gm-sheet p{margin:0 0 8px;font-size:14px;line-height:22px;color:var(--text-2)}
body.vk .gm-btns{display:flex;flex-direction:column;gap:8px;margin:12px 0 4px}
body.vk .gm-sheet .btn:disabled{opacity:.45;cursor:default}
body.vk .gm-sheet .gm-note,body.vk .gm-note{margin:4px 0;font-size:13px;line-height:20px;color:var(--text-2)}
body.vk .gm-check{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:14px;line-height:20px;color:var(--text)}
body.vk .gm-nudge{margin:0 0 12px;display:flex;flex-direction:column;gap:10px}
body.vk .gm-nudge .gm-later{align-self:center}
body.vk.shell .gm-syncline{display:flex;align-items:center;justify-content:space-between;gap:12px}
body.vk.shell .gm-now{width:auto;flex:0 0 auto}
body.vk .gm-danger{color:var(--bad);align-self:center}
/* 0.9.1 로그인 입구(sync.enabled 일 때만 생기는 gm-* 부품) — 폰: 홈 머리 띠 설정 그림 옆 · 넓은 화면: 옆 메뉴 머리. 글자 단추 · 누르는 칸 44px */
body.vk.shell .gm-hacts{display:flex;align-items:center;gap:2px}
body.vk .gm-loginbtn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 10px;font-size:14px;line-height:20px;font-weight:700;color:var(--primary);cursor:pointer;border-radius:12px;white-space:nowrap}
html[data-tone="dark"] body.vk .gm-loginbtn{color:var(--acc-text)}
body.vk .gm-loginbtn:focus-visible,body.vk .gm-acctmark:focus-visible{outline:2px solid var(--acc);outline-offset:-3px}
body.vk .gm-acctmark{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;min-width:44px;color:var(--text-2);text-decoration:none;border-radius:12px}
body.vk .gm-ini{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1.5px solid currentColor;border-radius:50%;font-size:12px;line-height:1;font-weight:700;box-sizing:border-box;flex:0 0 auto}
body.vk .gm-rail-slot{display:none}
html[data-layout="wide"][data-rail="1"] body.vk .gm-rail-slot{display:block;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid rgba(255,255,255,.12)}
html[data-layout="wide"] body.vk .gm-rail-slot .gm-loginbtn{width:100%;justify-content:flex-start;padding:0 14px;color:#FFFFFF;border:1px solid rgba(255,255,255,.35)}
html[data-layout="wide"] body .tabs .gm-rail-slot a.gm-acctmark{justify-content:flex-start;padding:9px 14px;color:var(--tab-off);font-size:14px}
html[data-layout="wide"][data-rail="1"] body.vk.shell .gm-hacts .gm-home{display:none}
/* 0.9.3 공부 타이머(93) — 새 색 없음: 고리 카드 = 홈 진도 카드(.hm-hero · --grad · --hero-line), 그 밖은 기존 토큰. 전환 효과 없음(1초마다 한 칸) */
body.vk.shell .tm-row{min-height:56px;padding:10px 16px;margin-top:12px;gap:12px}
body.vk.shell .tm-row .title{font-size:15px;line-height:22px;font-weight:600}
/* 0.9.8 「스터디 타이머」 앞 시계(11-04 요청) — 선 그림 18px, 글자와 같은 색 */
body.vk.shell .tm-row .tm-row-t{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
/* 0.9.8 좁은 폰(320)에서 이름이 「스터디 타이 / 머」로 끊기지 않게: 이름은 한 줄, 오른쪽 상태 글이 먼저 줄어 말줄임(…). 390 이상은 지금과 같음 */
body.vk.shell .tm-row .grow{flex:1 0 auto}
body.vk.shell .tm-row .tm-row-st{flex:0 1 auto;min-width:0}
body.vk .tm-clock{width:18px;height:18px;flex:none}
body.vk .tm-row-st{flex:none;max-width:58%;font-size:13px;line-height:18px;font-weight:600;color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.vk .tm-mring,body.vk .tm-dring{flex:none;transform:rotate(-90deg)}
body.vk .tm-mring{width:28px;height:28px}
body.vk .tm-mring circle,body.vk .tm-dring circle{fill:none;stroke-width:14}
body.vk .tm-mring .m-bg{stroke:var(--track)}
body.vk .tm-mring .m-fg{stroke:var(--acc);stroke-linecap:round}
body.vk .tm-mid{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}
body.vk .tm-mid>.band-title,body.vk .tm-mid>.cbar-title{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.vk .tm-dock{flex:none;display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 4px;color:inherit;text-decoration:none;position:relative}
body.vk .tm-dring{width:22px;height:22px}
body.vk .band .tm-dring .m-bg{stroke:var(--hero-line)}
body.vk .band .tm-dring .m-fg{stroke:#FFFFFF;stroke-linecap:round}
body.vk .cbar .tm-dring .m-bg,body.vk .topbar .tm-dring .m-bg{stroke:var(--track)}
body.vk .cbar .tm-dring .m-fg,body.vk .topbar .tm-dring .m-fg{stroke:var(--acc);stroke-linecap:round}
body.vk .tm-dock b{font-size:13px;line-height:18px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
body.vk .tm-dock.tm-paused b{opacity:.65}
body.vk .tm-pz{position:absolute;left:11px;top:50%;width:6px;height:7px;margin-top:-3.5px;border-left:2px solid currentColor;border-right:2px solid currentColor;box-sizing:border-box}
body.vk .tm-dock:focus-visible{outline:2px solid currentColor;outline-offset:-2px;border-radius:8px}
html[data-layout="wide"] body .tabs .tm-rail-slot{margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid rgba(255,255,255,.12)}
html[data-layout="wide"] body .tabs .tm-rail-slot a.tm-dock{flex-direction:row;gap:8px;padding:6px 14px;color:#FFFFFF;font-size:14px}
html[data-layout="wide"] body .tabs .tm-rail-slot .tm-dring{width:24px;height:24px}
html[data-layout="wide"] body .tabs .tm-rail-slot .tm-dring .m-bg{stroke:rgba(255,255,255,.22)}
html[data-layout="wide"] body .tabs .tm-rail-slot .tm-dring .m-fg{stroke:#FFFFFF;stroke-linecap:round}
html[data-layout="wide"] body .tabs .tm-rail-slot .tm-pz{left:21px}
body.vk.shell .tm-hero{justify-items:center;padding:22px 18px 20px}
body.vk.shell .tm-hero .tm-ringbox{z-index:1}
body.vk.shell .tm-hero .hm-ring{width:220px;height:220px}
body.vk.shell .tm-hero .hm-ring circle{stroke-width:7}
body.vk.shell .tm-hero .hm-ring .r-in{gap:4px}
body.vk.shell .tm-hero .hm-ring .r-in small{font-size:14px;line-height:18px}
body.vk.shell .tm-hero .hm-ring .r-in b{font-size:44px;line-height:50px}
html[data-layout="wide"] body.vk.shell .tm-hero .hm-ring{width:260px;height:260px}
body.vk.shell .tm-msg{margin:0;z-index:1;font-size:16px;line-height:24px;font-weight:700;text-align:center}
body.vk .tm-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.vk.shell .tm-set{display:grid;gap:12px;padding:14px 14px 12px}
body.vk.shell .tm-set.off .tm-chips,body.vk.shell .tm-set.off .tm-step{opacity:.5}
body.vk.shell .tm-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
body.vk.shell .tm-step{display:flex;align-items:center;justify-content:center;gap:14px}
body.vk.shell .tm-pm{width:44px;height:44px;border:1px solid var(--line-2);border-radius:50%;font-size:24px;line-height:1;color:var(--text);justify-content:center}
body.vk.shell .tm-pm:disabled{opacity:.4}
body.vk.shell .tm-val{all:unset;box-sizing:border-box;min-width:96px;min-height:44px;padding:0 8px;text-align:center;font-size:22px;line-height:44px;font-weight:700;font-variant-numeric:tabular-nums;border-bottom:2px dashed var(--line-2);cursor:pointer}
body.vk.shell .tm-val:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body.vk.shell .tm-input{box-sizing:border-box;width:88px;min-height:44px;padding:6px 8px;border:1px solid var(--line-2);border-radius:10px;background:var(--card);color:var(--text);font:inherit;font-size:20px;font-weight:700;text-align:center}
body.vk.shell .tm-note{margin:0;text-align:center;color:var(--text-2)}
body.vk.shell .tm-note:empty{display:none}
body.vk.shell .tm-acts{display:flex;gap:10px}
body.vk.shell .tm-acts .btn{flex:1}
body.vk.shell .tm-sub{margin:0;padding:0 0 10px;color:var(--text-2)}
@media (max-width:340px){body.vk .cbar.mq-cbar2 .tm-dock b{display:none}} /* 320px 문제 띠(오른쪽 「채점하기」): 제목이 잘리지 않게 숫자 없이 고리만(93 §2-5) */
body.vk .topbar .mid>.tm-dock{margin-left:auto}
body.vk .topbar .mid:has(>.tm-dock)>.screen-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} /* 도크가 들어간 동안만 제목 한 줄(좁은 폰) */

/* 0.9.4 학습자 끌림 묶음(94) — 새 색 토큰 없음: 칩 · 알약 = --tint-soft/--primary(단어 화면 칩과 같음), D-day 카드 = 홈 진도 카드(.hm-hero · --grad), 그 밖은 기존 토큰. 새 글은 그 자리 글과 같은 크기 */
body.vk .csrc.cs-chip{display:inline-block;max-width:100%;box-sizing:border-box;margin-top:-4px;padding:3px 10px;border-radius:999px;background:var(--tint-soft);color:var(--primary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.vk.shell .hm-head .hm-dday{flex:none;margin:0 auto 0 8px;padding:3px 10px;border-radius:999px;background:var(--tint-soft);color:var(--primary);font-size:12px;line-height:18px;font-weight:700;text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}
body.vk.shell .hm-head .hm-dday.unset{background:var(--surface);color:var(--text-3);font-weight:600}
/* 복습 상자 — 「오늘 복습할 단어」 머리 자리를 세 칸으로 */
body.vk .rev-box{display:grid;gap:10px;justify-content:stretch}
body.vk .rev-box>p{text-align:left}
body.vk .rb-cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body.vk .rb-cell{all:unset;box-sizing:border-box;display:grid;justify-items:center;gap:2px;padding:8px 4px;border-radius:12px;background:rgba(255,255,255,.14);color:#FFFFFF;cursor:pointer;text-align:center}
body.vk .rb-cell small{font-size:12px;line-height:18px;opacity:.95;white-space:nowrap}
body.vk .rb-cell b{font-size:28px;line-height:34px;font-weight:700;font-variant-numeric:tabular-nums}
body.vk .rb-cell.off{opacity:.55;cursor:default}
body.vk .rb-cell:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px}
body.vk .rev-box .rb-empty{margin:0;color:#FFFFFF;opacity:.95;text-align:left}
body.vk .box-line{margin:8px 0 0}
body.vk .pop .pop-box{color:var(--text-2)}
/* 결과 화면 — 유형별 카드 머리 글 단추 · 담겼어요 줄 · 광고 빈 자리 */
body.vk .mq-cap-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
body.vk .mq-cap-row .link-btn{font-size:13px;line-height:20px;white-space:nowrap}
body.vk.mock .mq-boxline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-4px 0 10px}
body.vk.mock .mq-boxline .link-btn{font-size:13px;white-space:nowrap}
body.vk .ad-slot{min-height:100px;border:1px dashed var(--border);border-radius:12px}
/* 유형별 실력 */
body.vk .tr-card{display:grid;gap:12px}
body.vk .tr-row{display:grid;gap:6px}
body.vk .tr-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:14px;line-height:20px}
body.vk .tr-name{color:var(--text);font-weight:600}
body.vk .tr-num{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}
body.vk .tr-row.unk .tr-name,body.vk .tr-row.unk .tr-num{color:var(--text-3);font-weight:500}
body.vk .tr-bar{display:block;height:6px;border-radius:999px;background:var(--track);overflow:hidden}
body.vk .tr-bar i{display:block;height:100%;border-radius:999px;background:var(--accent)}
body.vk .tr-btns{display:flex;gap:8px;flex-wrap:wrap}
body.vk .tr-btns .btn{flex:1 1 0;min-width:0;text-decoration:none;text-align:center}
/* #/goal 시험 D-day */
body.vk.shell .gl-hero{gap:4px}
body.vk.shell .gl-label{font-size:13px;line-height:20px;opacity:.9}
body.vk.shell .gl-dnum{font-size:40px;line-height:48px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
body.vk.shell .gl-dnum.sm{font-size:20px;line-height:28px}
body.vk.shell .gl-date{font-size:13px;line-height:20px;opacity:.9}
body.vk.shell .gl-plan,body.vk.shell .gl-streak,body.vk.shell .gl-pick{display:grid;gap:8px}
body.vk.shell .gl-plan-t{margin:0;font-size:15px;line-height:22px;color:var(--text)}
body.vk.shell .gl-plan-t b{color:var(--primary)}
body.vk.shell .gl-perday{display:inline-flex;align-items:center;gap:2px;justify-self:start;font-size:14px}
body.vk.shell .gl-perday svg{width:16px;height:16px}
body.vk.shell .gl-big{font-size:22px;line-height:30px;font-weight:700;color:var(--text)}
body.vk.shell .gl-dots{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:4px 0}
body.vk.shell .gl-dot{display:grid;justify-items:center;gap:4px}
body.vk.shell .gl-dot i{width:14px;height:14px;border-radius:50%;background:var(--track)}
body.vk.shell .gl-dot.on i{background:var(--accent)}
body.vk.shell .gl-dot small{font-size:12px;line-height:16px;color:var(--text-3)}
body.vk.shell .gl-opts{display:grid;gap:8px}
body.vk.shell .gl-opt{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:15px;line-height:22px;font-weight:600;cursor:pointer}
body.vk.shell .gl-opt small{font-size:13px;line-height:20px;font-weight:500;color:var(--text-3);white-space:nowrap}
body.vk.shell .gl-opt[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--primary)}
body.vk.shell .gl-opt:disabled{opacity:.55;cursor:default}
body.vk.shell .gl-opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
body.vk.shell .gl-date-row{display:flex;gap:8px;align-items:center}
body.vk.shell .gl-date-row input{flex:1;min-width:0;min-height:44px;box-sizing:border-box;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit}
body.vk.shell .gl-date-msg{margin:0}
/* 오류 신고 창(report.transport 가 off 면 단추 · 창 모두 없음) */
body.vk .rp-sheet{display:grid;gap:10px;text-align:left}
body.vk .rp-sheet .rp-h{margin:0;font-size:16px;line-height:24px;font-weight:700;color:var(--text)}
body.vk .rp-cats{display:grid;gap:6px}
body.vk .rp-cat{display:flex;align-items:center;gap:8px;min-height:40px;font-size:14px;line-height:20px;color:var(--text)}
body.vk .rp-priv,body.vk .rp-msg{font-size:13px;line-height:20px;color:var(--text-2);margin:0}
body.vk .rp-btn{display:inline-block;margin-top:8px;font-size:13px;color:var(--text-3)}
/* 좁은 폰: 문제 카드 작은 글이 알약과 함께 넘치면 짧은 꼴(app.js) — 넘침을 재려고 한 줄 · 말줄임 */
body.vk.shell #m-quiz,body.vk.shell #m-quiz .grow{min-width:0}
body.vk.shell #m-quiz-sub{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 어둡게: --primary(어두운 남색)는 어두운 바탕에서 안 보임 — 글은 --text 로 */
html[data-tone="dark"] body.vk .csrc.cs-chip,html[data-tone="dark"] body.vk.shell .hm-head .hm-dday:not(.unset),html[data-tone="dark"] body.vk.shell .gl-plan-t b,html[data-tone="dark"] body.vk.shell .gl-opt[aria-pressed="true"]{color:var(--text)}
/* 좁은 폰: 잠긴 줄 이름이 알약 옆에서 낱말 가운데로 끊기지 않게(「모의고사 / 10회」) */
body.vk.mock .mq-soon .title{word-break:keep-all}

/* 0.9.7 처음 열 때 소개 카드(안내 문구 A) — 알림 창(.pop-ov · .pop)과 같은 토큰, 글은 왼쪽 정렬 */
body.vk .in-ov{z-index:30}
body.vk .in-card{position:relative;background:var(--popup);color:var(--text);border-radius:16px;padding:14px 20px 18px;width:min(340px,100%);text-align:left;box-shadow:0 12px 32px rgba(0,0,0,.18)}
body.vk .in-top{display:flex;align-items:center;justify-content:space-between;min-height:40px;margin-bottom:8px}
body.vk .in-dots{display:flex;gap:6px}
body.vk .in-dots i{width:7px;height:7px;border-radius:50%;background:var(--line-2)}
body.vk .in-dots i.on{width:18px;border-radius:4px;background:var(--acc)}
body.vk .in-skip,body.vk .in-link{all:unset;box-sizing:border-box;cursor:pointer;font-size:14px;line-height:20px;font-weight:600;color:var(--text-2);padding:10px 4px}
body.vk .in-h{font-size:22px;line-height:31px;font-weight:800;margin:6px 0 10px;word-break:keep-all}
body.vk .in-h b{color:var(--acc);font-weight:800}
body.vk .in-p{margin:0 0 20px;font-size:15px;line-height:24px;color:var(--text-2);word-break:keep-all}
body.vk .in-ov:focus{outline:none}
body.vk .in-link{display:block;width:100%;text-align:center;margin-top:6px;color:var(--acc);text-decoration:underline;text-underline-offset:3px}
body.vk .in-skip:focus-visible,body.vk .in-link:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:6px}
/* 0.9.22 응원 한 줄(P73) — 새 색 없음. 홈 줄 = .hm-sub 꼴, #/goal = .gl-date · .desc 꼴을 그대로 쓰고 간격만 */
body.vk.shell .hm-enc{margin-top:4px;word-break:keep-all}
body.vk.shell .gl-enc{margin-top:6px;word-break:keep-all}
body.vk .score.has-enc{flex-wrap:wrap}
body.vk .score .enc-score{flex:1 0 100%;margin:0;text-align:left;word-break:keep-all}
body.vk .pop .pop-enc{display:inline-block;margin:2px 0;font-size:14px;line-height:22px;color:var(--text-2);word-break:keep-all}
body.vk .tr-enc{margin:0 0 8px;word-break:keep-all}
body.vk .cx-enc{margin:14px 0 0;font-size:13px;line-height:20px;color:var(--text-2);text-align:center;word-break:keep-all}
body.vk .in-enc{margin:-12px 0 20px;font-size:14px;line-height:22px;color:var(--text-2);word-break:keep-all}
