/* 장병 PWA 공용 CSS. 페이지마다 public/app CSS 합계를 40,000B 이하로 지키려고(pwa-budget) 규칙은 한 줄로 쓰고 주석은 이유만 남긴다 */
.lm-app{min-height:100dvh;padding-top:var(--lm-appbar-height);padding-bottom:calc(var(--lm-tabbar-height) + var(--lm-safe-bottom));background:var(--lm-bg-page);color:var(--lm-text);font-size:16px;line-height:1.6;-webkit-tap-highlight-color:transparent}
.lm-app:has(>.lm-statusline){padding-top:calc(var(--lm-appbar-height) + var(--lm-statusline-height))}
/* S-35 요약은 긴 고지가 본문 머리에 있어 상태 줄을 오프라인일 때만 내린다 */
.lm-app[data-screen="S-35"]:not([data-state="offline"]){padding-top:var(--lm-appbar-height)}
.lm-app[data-screen="S-35"]:not([data-state="offline"])>.lm-statusline,.lm-app:not([data-screen="S-32"]) .lm-statusline__talk{display:none}
/* 하단 바 높이 = 위아래 12 + 버튼 44 + 윗선 1. 윗줄이 있으면 줄 44와 틈 8을 더한다 */
.lm-app[data-shell="immersive"]{padding-bottom:calc(var(--lm-space-12) * 2 + 45px + var(--lm-safe-bottom))}
.lm-app[data-shell="immersive"]:has(>.lm-action-bar>.lm-action-bar__row){padding-bottom:calc(var(--lm-space-12) * 2 + 97px + var(--lm-safe-bottom))}
.lm-app[data-shell="gate"]{padding-top:0;padding-bottom:var(--lm-safe-bottom)}
.lm-app[data-shell="immersive"] .lm-tabbar{display:none}
.lm-skip{position:fixed;top:8px;left:16px;z-index:var(--lm-z-overlay);padding:12px 16px;border-radius:var(--lm-radius);background:var(--lm-bg-surface);color:var(--lm-primary);font-size:14px;transform:translateY(-200%)}
.lm-skip:focus-visible{transform:none}
.lm-appbar{position:fixed;inset:0 0 auto;z-index:var(--lm-z-bar);display:flex;align-items:center;gap:8px;height:var(--lm-appbar-height);padding:0 16px;border-bottom:1px solid var(--lm-border);background:var(--lm-bg-page)}
.lm-appbar:has(>.lm-appbar__back){gap:0;padding-left:4px}
.lm-appbar__back{display:inline-flex;flex:0 0 auto;align-items:center;width:44px;height:44px;padding-left:12px;border-radius:var(--lm-radius);color:var(--lm-text-strong)}
.lm-appbar__title{min-width:0;margin:0;overflow:hidden;color:var(--lm-text-strong);font-size:18px;line-height:1.35;letter-spacing:-0.02em;white-space:nowrap;text-overflow:ellipsis}
.lm-appbar__tools{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin-left:auto}
.lm-appbar__bell{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--lm-radius);color:var(--lm-text-strong)}
.lm-badge{position:absolute;top:8px;right:4px;display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:var(--lm-radius-pill);background:var(--lm-primary);color:var(--lm-on-primary);font-size:12px;line-height:1;font-variant-numeric:tabular-nums}
.lm-app[data-state="loading"] .lm-badge{display:none}
.lm-btn-trust{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 12px;color:var(--lm-trust);font-size:14px;line-height:1.25;white-space:nowrap}
.lm-btn-trust::before{content:"";position:absolute;inset:4px 0;z-index:-1;border:1px solid var(--lm-trust);border-radius:var(--lm-radius);background:var(--lm-bg-surface);transition:background-color var(--lm-duration-fast) var(--lm-ease-out)}
.lm-btn-trust:focus-visible{outline:none}
.lm-btn-trust:focus-visible::before{outline:var(--lm-focus-ring);outline-offset:3px}
@media (hover:hover) {
.lm-appbar__back:hover,.lm-appbar__bell:hover{background:var(--lm-bg-subtle)}
.lm-btn-trust:hover::before{background:var(--lm-bg-subtle)}
}
.lm-statusline{position:fixed;top:var(--lm-appbar-height);right:0;left:0;z-index:var(--lm-z-bar);display:flex;align-items:center;height:var(--lm-statusline-height);padding:0 16px;background:var(--lm-bg-subtle);color:var(--lm-text);font-size:12px;line-height:1.4}
.lm-statusline>span{min-width:0}
.lm-statusline__msg{display:flex;align-items:center;gap:8px;min-width:0}
.lm-statusline__msg>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lm-main{padding:24px 16px 32px}
.lm-tabbar{position:fixed;inset:auto 0 0;z-index:var(--lm-z-bar);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--lm-tabbar-height) + var(--lm-safe-bottom));padding-bottom:var(--lm-safe-bottom);border-top:1px solid var(--lm-border);background:var(--lm-bg-surface)}
.lm-tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:44px;color:var(--lm-text-muted);font-size:12px;line-height:16px;transition:color var(--lm-duration-fast) var(--lm-ease-out)}
.lm-tabbar a[aria-current="page"]{color:var(--lm-primary)}
.lm-tabbar a:focus-visible{outline-offset:-3px}
.lm-action-bar__note{display:flex;align-items:center;gap:8px;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.lm-action-bar__row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}
.lm-action-bar__row>.btn.quiet:last-child{margin-right:-12px;border-right-width:0}
.lm-pill-btn{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;cursor:pointer}
/* 상태 표시는 body[data-state] 기준: .lm-when-<상태>는 그 상태에서만 보이고 .lm-hide-<상태>는 그때 숨는다 */
.lm-app .lm-when-loading,.lm-app .lm-when-empty,.lm-app .lm-when-error,.lm-app .lm-when-retry,.lm-app .lm-when-offline,.lm-app .lm-when-forbidden{display:none}
.lm-app[data-state="loading"] .lm-when-loading,.lm-app[data-state="empty"] .lm-when-empty,.lm-app[data-state="error"] .lm-when-error,.lm-app[data-state="retry"] .lm-when-retry,.lm-app[data-state="offline"] .lm-when-offline,.lm-app[data-state="forbidden"] .lm-when-forbidden{display:contents}
.lm-app[data-state="loading"] .lm-hide-loading,.lm-app[data-state="empty"] .lm-hide-empty,.lm-app[data-state="error"] .lm-hide-error,.lm-app[data-state="offline"] .lm-hide-offline,.lm-app[data-state="forbidden"] .lm-hide-forbidden{display:none}
.lm-app :where(h3,h4,p,ol,ul,dl,dd,blockquote,figure,fieldset){margin:0}
.lm-app :where(ol,ul)[role="list"]{padding:0;list-style:none}
.lm-app :where(fieldset){min-width:0;padding:0;border:0}
.lm-app [tabindex="-1"]:focus{outline:none}
.lm-headline{margin:0;color:var(--lm-text-strong);font-size:22px;line-height:1.3;letter-spacing:-0.02em}
.lm-title{margin:0;color:var(--lm-text-strong);font-size:18px;line-height:1.35;letter-spacing:-0.02em}
.lm-compact{font-size:14px;line-height:1.5}
.lm-muted{color:var(--lm-text-muted)}
.lm-strong{color:var(--lm-text-strong)}
.lm-section+.lm-section{margin-top:32px}
.lm-section__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-bottom:12px}
.lm-section__aside{color:var(--lm-text-muted);font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}
.lm-stack{display:grid;gap:12px}
.lm-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--lm-text-muted);font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}
.lm-note{display:flex;align-items:center;gap:8px;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.lm-app .btn{font-size:16px;line-height:1.25}
.lm-card__actions>.btn{margin-left:0}
/* 잠긴 주 버튼은 흐린 코발트 대신 옅은 면. 응답을 기다리는 버튼(aria-busy)은 코발트 그대로 */
.lm-app .btn.primary:disabled:not([aria-busy="true"]),.lm-app .btn.primary[aria-disabled="true"]{border-color:var(--lm-border);background:var(--lm-bg-subtle);color:var(--lm-text-muted);opacity:1}
.lm-app .btn.primary[aria-busy="true"]{opacity:1}
/* 텍스트 버튼 글자를 본문 선에 맞춘다. foundation 음수 여백 12px에 투명 테두리 1px까지 거둔다 */
.lm-form__submit>.btn.quiet,.lm-sheet__actions>.btn.quiet,.lm-reauth__forgot>.btn.quiet,.lm-field__recover,.lm-guess__edit,.lm-unknown__resume,.lm-action-bar__row>.btn.quiet:first-of-type{border-left-width:0}
.lm-card{padding:16px;border:1px solid var(--lm-border);border-radius:var(--lm-radius);background:var(--lm-bg-surface);color:var(--lm-text)}
.lm-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.lm-card__head>.tag{flex:0 1 auto}
.lm-card__text{margin-top:8px}
.lm-card__meta{margin-top:4px;color:var(--lm-text-muted);font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}
.lm-card__actions{display:grid;gap:8px;margin-top:16px}
.lm-card__note{display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
/* 도움 카드: 강한 경계는 이 카드에만 쓰고 레드와 닫기 버튼을 두지 않는다 */
.lm-helpcard{padding-bottom:0;border-color:var(--lm-trust)}
.lm-helpcard__head{display:flex;align-items:center;gap:8px;color:var(--lm-trust)}
.lm-helpcard__status{margin-top:4px;color:var(--lm-text);font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums;transition:color var(--lm-duration-fast) var(--lm-ease-out)}
.lm-app[data-state="loading"] .lm-helpcard__status{color:var(--lm-text-muted)}
/* 행 구분선을 1px 틈으로 그려 오프라인에서 행 순서가 바뀌어도 선이 제자리다 */
.lm-helpcard .lm-card__rows{display:grid;gap:1px;background:var(--lm-hairline)}
.lm-helpcard .lm-card__rows>li{border-top:0;background:var(--lm-bg-surface)}
.lm-app[data-state="offline"] .lm-helpcard [data-channel="in_app"]{order:1}
/* 고지 ③의 '아래 연락처'는 바로 이어지는 전화 행을 가리킨다(ui-copy-guide §6) */
.lm-helpcard__notice{margin-top:8px;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.lm-helpcard .lm-card__rows:not(:last-child){border-radius:0}
.lm-card__rows{margin:16px -16px 0;overflow:hidden;border-top:1px solid var(--lm-hairline);border-radius:0 0 var(--lm-radius) var(--lm-radius)}
.lm-list{overflow:hidden;border:1px solid var(--lm-border);border-radius:var(--lm-radius);background:var(--lm-bg-surface)}
.lm-card__rows>*+*,.lm-list>*+*{border-top:1px solid var(--lm-hairline)}
.lm-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:12px;min-height:56px;padding:8px 16px;color:var(--lm-text);transition:background-color var(--lm-duration-fast) var(--lm-ease-out)}
.lm-row>.lm-icon{color:var(--lm-text-muted)}
.lm-row:active{background:var(--lm-bg-subtle)}
.lm-row:focus-visible{outline-offset:-3px}
@media (hover:hover) {
.lm-row:hover{background:var(--lm-bg-subtle)}
}
.lm-row__body{display:grid;min-width:0}
.lm-row__title{color:var(--lm-text-strong);font-size:16px;line-height:20px}
.lm-row__meta{color:var(--lm-text-muted);font-size:14px;line-height:20px;font-variant-numeric:tabular-nums}
.lm-row.is-read .lm-row__title{color:var(--lm-text)}
.lm-app .lm-row[aria-disabled="true"]{grid-template-columns:auto minmax(0,1fr);background:transparent;color:var(--lm-text-muted);opacity:1}
.lm-row[aria-disabled="true"] .lm-row__title{color:var(--lm-text-muted)}
.lm-row__empty{padding:16px;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.lm-app .tag{display:inline-flex;align-items:center;gap:4px;max-width:100%;height:24px;padding:0 9px;border:1px solid color-mix(in srgb,var(--lm-text) 24%,var(--lm-bg-subtle));border-radius:var(--lm-radius-pill);background:var(--lm-bg-subtle);color:var(--lm-text);font-size:12px;line-height:1;white-space:nowrap;vertical-align:middle;font-variant-numeric:tabular-nums;transition:background-color var(--lm-duration-fast) var(--lm-ease-out),color var(--lm-duration-fast) var(--lm-ease-out)}
.lm-app .tag>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.lm-app .tag.warn{border-color:color-mix(in srgb,var(--lm-warning-text) 24%,var(--lm-warning-surface));background:var(--lm-warning-surface);color:var(--lm-warning-text)}
.lm-app .tag.danger{border-color:color-mix(in srgb,var(--lm-danger) 24%,var(--lm-danger-surface));background:var(--lm-danger-surface);color:var(--lm-danger)}
.lm-app .tag.success{border-color:color-mix(in srgb,var(--lm-success-text) 24%,var(--lm-success-surface));background:var(--lm-success-surface);color:var(--lm-success-text)}
.lm-app .tag.is-dashed{border:1px dashed var(--lm-border);background:var(--lm-bg-surface);color:var(--lm-text-muted)}
/* 입력 글자는 16px(iOS 확대 방지) */
.lm-form{display:grid;gap:16px}
.lm-field{display:grid;gap:8px}
.lm-field__label{color:var(--lm-text-strong);font-size:14px;line-height:1.5}
.lm-app .lm-field input:not([type="checkbox"]):not([type="radio"]){height:48px;min-height:48px;padding:0 12px;font-size:16px;line-height:1.5;font-variant-numeric:tabular-nums}
.lm-app .lm-field textarea{padding:12px;font-size:16px;line-height:1.6}
.lm-field__help{color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.lm-field__help>span{display:block}
.lm-field__recover{justify-self:start}
/* 오류가 두 줄이 되어도 아이콘은 첫 줄에 둔다. 아이콘 상자만 줄 높이(1.5em)로 늘린다 */
.lm-app .lm-field__error{display:flex;align-items:flex-start;gap:8px;border:0;border-radius:0;background:none;color:var(--lm-danger);font-size:14px;line-height:1.5}
.lm-app .lm-field__error>.lm-icon{height:1.5em}
.lm-field__control{position:relative}
.lm-app .lm-field__control>input:not([type="checkbox"]):not([type="radio"]){padding-right:48px}
.lm-field__toggle{position:absolute;top:0;right:0;display:inline-grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:var(--lm-radius);background:transparent;color:var(--lm-text-muted);font-size:14px;cursor:pointer;transition:color var(--lm-duration-fast) var(--lm-ease-out)}
.lm-field__toggle[aria-pressed="true"]{color:var(--lm-text-strong)}
.lm-field__toggle:focus-visible{outline-offset:-3px}
@media (hover:hover) {
.lm-field__toggle:hover{color:var(--lm-text-strong)}
}
.lm-lock-head{display:flex;align-items:center;gap:8px}
.lm-lock-head>.lm-icon{color:var(--lm-text-muted)}
.lm-skel{display:grid;gap:12px}
.lm-skel__card{display:grid;gap:12px}
.lm-skel__gap{margin-top:20px}
.lm-skel__card>.lm-skel__action{margin-top:4px}
.lm-skel__row{display:grid;align-content:center;gap:8px;min-height:56px;padding:8px 16px}
.lm-empty{display:grid;justify-items:center;gap:8px;padding:24px;text-align:center}
.lm-empty>.lm-icon{color:var(--lm-text-muted)}
.lm-empty>.btn{margin-top:8px}
.lm-empty__title{color:var(--lm-text);font-size:16px;line-height:1.5}
.lm-empty__desc{color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.lm-app .lm-alert{display:grid;gap:8px;margin-bottom:12px;padding:16px;border:1px solid var(--lm-border);border-radius:var(--lm-radius);background:var(--lm-bg-surface);color:var(--lm-text)}
.lm-alert__head{display:flex;align-items:center;gap:8px;color:var(--lm-text-strong)}
.lm-alert__head>.lm-icon{color:var(--lm-danger)}
.lm-alert__desc{color:var(--lm-text-muted);font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}
.lm-alert__more>summary{display:inline-flex;align-items:center;min-height:44px;color:var(--lm-primary);font-size:14px;line-height:1.5;list-style:none;cursor:pointer}
.lm-alert__more>summary::-webkit-details-marker{display:none}
.lm-mono{font-family:var(--lm-font-mono);font-size:12.5px}
.lm-summary-head{display:grid;gap:12px;margin-bottom:24px}
.lm-visible{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;line-height:1.5}
.lm-visible>.lm-icon{color:var(--lm-trust)}
.lm-fst{display:grid}
/* 44px 머리를 8px 끌어올려 위 여백을 맞춘다 */
.lm-fst__head{display:flex;align-items:center;gap:12px;min-height:44px;margin-top:-8px}
.lm-fst__mono{display:inline-grid;flex:0 0 auto;place-items:center;width:28px;height:28px;border-radius:var(--lm-radius-inner);background:var(--lm-bg-subtle);color:var(--lm-text-strong);font-size:14px;line-height:1}
.lm-fst__name{flex:1 1 auto;min-width:0;margin:0;color:var(--lm-text-strong);font-size:18px;line-height:1.35;letter-spacing:-0.02em}
.lm-fst__head>.btn.quiet{flex:0 0 auto;margin-right:-12px;margin-left:0;border-right-width:0}
.lm-fst__item{display:grid;gap:8px;margin-top:12px;padding-top:16px;border-top:1px solid var(--lm-hairline)}
.lm-fst__head+.lm-fst__item{margin-top:8px;padding-top:0;border-top:0}
.lm-fst__tags{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
/* 두세 줄 정리 문장에 pretty를 쓰면 첫 줄이 비어서 기본 줄바꿈으로 채운다 */
.lm-fst__statement,.lm-guess__text,.lm-correct__statement{text-wrap:wrap}
.lm-fst__statement{color:var(--lm-text)}
.lm-quote{display:grid;gap:4px;padding:4px 0;border-radius:var(--lm-radius-inner);color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.lm-quote__src{display:inline-flex;align-items:center;gap:4px;color:var(--lm-primary);font-variant-numeric:tabular-nums;transition:color var(--lm-duration-fast) var(--lm-ease-out)}
@media (hover:hover) {
.lm-quote:hover .lm-quote__src{color:var(--lm-primary-hover)}
}
/* 왼쪽 4px 선은 DESIGN.md 선 규칙의 확인 전 추정 표시다 */
.lm-guess{display:grid;gap:4px;margin-top:12px;padding:12px 16px;border-left:4px solid var(--lm-warning-accent);border-radius:0 var(--lm-radius-inner) var(--lm-radius-inner) 0;background:var(--lm-warning-surface)}
.lm-guess__label{display:flex;align-items:center;gap:8px;color:var(--lm-warning-text);font-size:14px;line-height:1.5}
.lm-guess__text{color:var(--lm-text-strong)}
.lm-guess__note{color:var(--lm-warning-text);font-size:14px;line-height:1.5}
.lm-guess .lm-quote{color:var(--lm-warning-text)}
.lm-guess__edit{justify-self:start;margin-bottom:-8px}
.lm-unknown__text{color:var(--lm-text-muted)}
.lm-unknown__resume{justify-self:start;margin-bottom:-8px}
.lm-unknown__resume>.lm-icon{margin-left:-4px}
.lm-details{margin-top:24px;overflow:hidden;border:1px solid var(--lm-border);border-radius:var(--lm-radius);background:var(--lm-bg-surface)}
.lm-details>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;min-height:56px;padding:8px 16px;list-style:none;cursor:pointer}
.lm-details>summary::-webkit-details-marker{display:none}
.lm-details>summary:focus-visible{outline-offset:-3px}
.lm-details>summary>.lm-icon{color:var(--lm-text-muted)}
.lm-details[open]>summary>.lm-icon{transform:rotate(180deg)}
.lm-details__body{display:grid;gap:16px;padding:12px 16px 16px;border-top:1px solid var(--lm-hairline)}
.lm-diff-entry{display:grid;gap:8px}
.lm-diff{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;font-size:14px;line-height:1.5}
.lm-diff dt{color:var(--lm-text-muted)}
.lm-diff dd{color:var(--lm-text)}
/* 키보드가 올라오면 dvh가 줄어 버튼 줄도 함께 올라간다(viewport interactive-widget=resizes-content) */
.lm-app .lm-sheet{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:85dvh;margin:0;padding:0;overflow:hidden;border:0;border-radius:var(--lm-radius) var(--lm-radius) 0 0;background:var(--lm-bg-surface);color:var(--lm-text);box-shadow:var(--lm-shadow-sheet);transform:translateY(100%);transition:transform var(--lm-duration-fast) var(--lm-ease-out)}
.lm-app .lm-sheet[open]{display:flex;flex-direction:column}
.lm-sheet__body{flex:1 1 auto;min-height:0;padding:24px 16px;overflow-y:auto;overscroll-behavior:contain}
.lm-app .lm-sheet[data-open]{transform:none;transition-duration:var(--lm-duration)}
.lm-app .lm-sheet::backdrop{opacity:0;transition:opacity var(--lm-duration-fast) var(--lm-ease-out)}
.lm-app .lm-sheet[data-open]::backdrop{opacity:1;transition-duration:var(--lm-duration)}
.lm-sheet__lead{margin-top:4px;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.lm-sheet__actions{position:sticky;bottom:0;display:grid;flex:none;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:12px 16px calc(12px + var(--lm-safe-bottom));border-top:1px solid var(--lm-hairline);background:var(--lm-bg-surface)}
/* S-91 재로그인 시트는 api.js가 DOM으로 만든다. form은 상자를 만들지 않아 시트의 세로 flex에 그대로 놓인다 */
.lm-sheet__form{display:contents}
.lm-sheet__keep{display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--lm-text);font-size:14px;line-height:1.5}
.lm-sheet__keep>.lm-icon{color:var(--lm-text-muted)}
.lm-reauth{padding-top:16px}
.lm-reauth__id{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.lm-reauth__id>.lm-num{color:var(--lm-text-strong);font-size:16px}
.lm-reauth__forgot{display:grid;justify-items:start}
.lm-reauth__forgot>p{color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.lm-correct{display:grid;gap:16px;padding-top:16px}
.lm-correct__target{display:grid;gap:4px}
.lm-correct__target.lm-guess{margin-top:0}
.lm-correct__statement{color:var(--lm-text-strong)}
.lm-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lm-choice{position:relative;display:block}
.lm-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.lm-choice__box{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--lm-border-strong);border-radius:var(--lm-radius);background:var(--lm-bg-surface);color:var(--lm-text);font-size:16px;line-height:1.25;text-align:center;transition:background-color var(--lm-duration-fast) var(--lm-ease-out),border-color var(--lm-duration-fast) var(--lm-ease-out),color var(--lm-duration-fast) var(--lm-ease-out)}
.lm-choice__box>.lm-icon{display:none}
.lm-choice input:checked+.lm-choice__box{border-color:var(--lm-primary);background:var(--lm-bg-selected);color:var(--lm-primary)}
.lm-choice input:checked+.lm-choice__box>.lm-icon{display:block}
.lm-choice input:focus-visible+.lm-choice__box{outline:var(--lm-focus-ring);outline-offset:3px}
.lm-correct__edit{display:none;gap:16px}
.lm-correct:has(input[value="adjust"]:checked) .lm-correct__edit{display:grid}
.lm-picks>legend{margin-bottom:8px;padding:0}
.lm-pick{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:12px;min-height:56px;padding:12px 16px;cursor:pointer;transition:background-color var(--lm-duration-fast) var(--lm-ease-out)}
.lm-pick:has(input:checked){background:var(--lm-bg-selected)}
.lm-app .lm-pick input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--lm-primary)}
.lm-pick__body{display:grid;gap:4px;min-width:0}
.lm-pick__text{color:var(--lm-text);font-size:14px;line-height:1.5}
.lm-pick__src{color:var(--lm-text-muted);font-size:12px;line-height:1.4}
.lm-gate{display:flex;flex-direction:column;gap:32px;padding-top:32px}
.lm-gate>.lm-form{margin-bottom:-8px}
.lm-app[data-state="offline"] .lm-gate>.lm-form{order:1;margin-bottom:0}
.lm-form__submit{display:grid;gap:8px;margin-top:8px}
.lm-form__submit>.btn.primary{width:100%;min-height:48px}
.lm-form__submit>.btn.quiet{justify-self:start}
.lm-brand{display:flex;align-items:center;gap:12px}
.lm-brand__name{display:block;color:var(--lm-text-strong);font-size:18px;line-height:1.35;letter-spacing:-0.02em}
.lm-brand__sub{display:block;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.lm-gate__lead{display:grid;gap:8px}
.lm-gate__lead p{text-wrap:pretty}
.lm-gate__notice{color:var(--lm-text-strong)}
.lm-app[data-screen="S-01"] [data-gate]:not([data-gate~="S-01"]),.lm-app[data-screen="S-02"] [data-gate]:not([data-gate~="S-02"]),.lm-app[data-screen="S-01r"] [data-gate]:not([data-gate~="S-01r"]),.lm-app[data-screen="S-93"] [data-gate]:not([data-gate~="S-93"]),.lm-app:not([data-step="password"]) [data-step-for="password"],.lm-app[data-step="password"] [data-step-for="code"]{display:none}
.lm-gate__flash{display:flex;align-items:center;gap:8px;color:var(--lm-text-strong);font-size:14px;line-height:1.5}
.lm-gate__flash:empty{display:none}
.lm-gate__flash>.lm-icon{color:var(--lm-success-text)}
.lm-gate__flash-line{display:block}
.lm-gate__flash:has(.lm-gate__flash-line){align-items:flex-start}
.lm-gate__flash:has(.lm-gate__flash-line)>.lm-icon{height:1.5em}
.lm-idcard{display:grid;gap:8px}
.lm-idcard__row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.lm-idcard__id{min-width:0;color:var(--lm-text-strong);font-size:22px;line-height:1.3}
/* 4자마다 틈을 여백으로 둬 복사한 값에는 공백이 들어가지 않는다 */
.lm-idcard__id>span+span{margin-left:8px}
.lm-idcard__note{color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.lm-gate__after{margin-top:-16px}
/* S-93에서는 운영시간 줄을 숨긴다. 로그인해야 쓰는 앱 안 상담 시간이라 전화 행과 헷갈린다 */
.lm-app[data-screen="S-93"] .lm-helpcard__status{display:none}
.lm-offline{display:grid;gap:8px}
.lm-offline>.lm-card__actions{margin-top:8px}
@media (prefers-reduced-motion:reduce) {
.lm-app .lm-sheet,.lm-app .lm-sheet::backdrop,.lm-field__toggle,.lm-helpcard__status,.lm-pick,.lm-row{transition:none}
}
