.lm-app[data-screen="S-20"] [data-screen-for]:not([data-screen-for~="S-20"]),.lm-app[data-screen="S-21"] [data-screen-for]:not([data-screen-for~="S-21"]),.lm-app[data-screen="S-22"] [data-screen-for]:not([data-screen-for~="S-22"]),.lm-app[data-screen="S-23"] [data-screen-for]:not([data-screen-for~="S-23"]),.lm-app[data-screen="S-24"] [data-screen-for]:not([data-screen-for~="S-24"]){display:none}
/* data-ready 전(불러오는 중·JS 없음·첫 요청 실패)에는 빈 제목과 라벨만 남지 않게 본문과 버튼 바를 숨긴다 */
.lm-app:not([data-ready]) .sv-screen,.lm-app:not([data-ready]) .sv-bar,.lm-app[data-state="loading"] .sv-screen,.lm-app[data-state="loading"] .sv-bar,.lm-app[data-state="forbidden"] .sv-screen,.lm-app[data-state="forbidden"] .sv-bar{display:none}
.lm-app[data-shell="tabs"] .sv-bar{display:none}
.lm-app[data-screen^="S-2"]:not([data-state="offline"]){padding-top:var(--lm-appbar-height)}
.lm-app[data-screen^="S-2"]:not([data-state="offline"])>.lm-statusline{display:none}
/* --sv-bar-h는 survey.js가 버튼 바 실제 높이로 넣는다. 값이 오기 전에는 가장 높은 S-22 바 */
.lm-app[data-shell="immersive"][data-screen^="S-2"]{padding-bottom:var(--sv-bar-h,calc(var(--lm-space-12) * 2 + 97px + var(--lm-safe-bottom)))}
.sv-bar__group{display:grid;gap:8px}
.sv-bar__group>.btn:not(.quiet){width:100%}
.sv-head{display:grid;gap:8px;margin-bottom:24px}
.sv-head .lm-meta:empty{display:none}
.sv-sub{color:var(--lm-text)}
.sv-note{align-items:flex-start;margin-top:16px}
.sv-note>.lm-icon{height:1.5em}
.sv-note--flash{margin:0 0 16px;color:var(--lm-text-strong)}
.sv-list-head{margin-top:32px}
.sv-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}
.sv-tabs [role="tab"]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:var(--lm-radius);background:transparent;color:var(--lm-text);font-size:16px;line-height:1.25;cursor:pointer;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)}
.sv-tabs [role="tab"][aria-selected="true"]{border-color:var(--lm-border);background:var(--lm-bg-selected);color:var(--lm-primary)}
.sv-tabs [role="tab"]:focus-visible{outline-offset:-3px}
.sv-tabs__count{color:var(--lm-text-muted);font-size:14px}
.sv-tabs__count:empty{display:none}
.sv-tabs [aria-selected="true"] .sv-tabs__count{color:var(--lm-primary)}
@media (hover:hover) {
.sv-tabs [role="tab"][aria-selected="false"]:hover{border-color:var(--lm-border);background:var(--lm-bg-subtle)}
}
.sv-card__note{display:flex;align-items:flex-start;gap:8px;margin-top:8px;color:var(--lm-text-muted);font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}
.sv-card__note>.lm-icon{height:1.5em}
/* 마감 임박은 문구가 함께 있어 색만으로 뜻을 전하지 않는다 */
.sv-card__note.is-soon{color:var(--lm-warning-text)}
.sv-facts{margin:0}
.sv-fact{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px;min-height:56px;padding:8px 16px}
.sv-fact>.lm-icon{grid-row:1 / span 2;color:var(--lm-text-muted)}
.sv-fact--trust>.lm-icon{color:var(--lm-trust)}
.sv-fact dt{color:var(--lm-text-muted);font-size:14px;line-height:20px}
.sv-fact dd{margin:0;color:var(--lm-text-strong);font-size:16px;line-height:1.5}
.sv-fact__sub{display:block;margin-top:4px;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.sv-lock{margin-top:16px}
.sv-lock__head{display:flex;align-items:center;gap:8px;color:var(--lm-text-strong)}
.sv-lock__head>.lm-icon{color:var(--lm-text-muted)}
.sv-lock__desc{margin-top:4px;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.sv-progress{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.sv-progress__track{position:relative;flex:1 1 auto;height:4px;overflow:hidden;background:var(--lm-hairline)}
.sv-progress__fill{position:absolute;inset:0;background:var(--lm-primary);transform:scaleX(var(--sv-progress,0));transform-origin:left center;transition:transform var(--lm-duration) var(--lm-ease-out)}
.sv-progress__count{flex:0 0 auto;min-width:5ch;color:var(--lm-text);font-size:12px;line-height:1.4;text-align:right}
.sv-fieldset{display:block}
/* legend의 테두리 자리 배치를 풀려고 띄운다. 다음 요소가 clear로 받는다 */
.sv-legend{float:left;width:100%;margin:0;padding:0}
.sv-hint{clear:both;padding-top:8px;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.sv-hint:empty{padding-top:0}
.sv-choices,.sv-text{clear:both;margin-top:16px}
.sv-choices:empty{display:none}
.sv-choice{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px;min-height:56px;padding:8px 16px;color:var(--lm-text-strong);font-size:16px;line-height:1.5;cursor:pointer;transition:background-color var(--lm-duration-fast) var(--lm-ease-out)}
.sv-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.sv-choice:has(input:focus-visible){outline:var(--lm-focus-ring);outline-offset:-3px}
.sv-choice__mark{position:relative;display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid var(--lm-border-strong);border-radius:var(--lm-radius-pill);background:var(--lm-bg-surface);color:var(--lm-on-primary);transition:background-color var(--lm-duration-fast) var(--lm-ease-out),border-color var(--lm-duration-fast) var(--lm-ease-out)}
.sv-choice__mark>.lm-icon{display:none}
.sv-choice__mark::after{content:"";width:10px;height:10px;border-radius:var(--lm-radius-pill);background:var(--lm-primary);opacity:0;transition:opacity var(--lm-duration-fast) var(--lm-ease-out)}
.sv-choice:has(input:checked){background:var(--lm-bg-selected)}
.sv-choice:has(input:checked) .sv-choice__mark{border-color:var(--lm-primary)}
.sv-choice:has(input:checked) .sv-choice__mark::after{opacity:1}
.sv-choice.is-multi .sv-choice__mark{border-radius:var(--lm-radius-inner)}
.sv-choice.is-multi .sv-choice__mark::after{display:none}
.sv-choice.is-multi:has(input:checked) .sv-choice__mark{background:var(--lm-primary)}
.sv-choice.is-multi:has(input:checked) .sv-choice__mark>.lm-icon{display:block}
.sv-choice:has(input:disabled){color:var(--lm-text-muted);cursor:not-allowed}
@media (hover:hover) {
.sv-choice:not(:has(input:checked)):hover{background:var(--lm-bg-subtle)}
}
.sv-text textarea{min-height:112px}
.sv-text__help{display:flex;justify-content:space-between;gap:12px}
.sv-text__help>span{display:inline}
.sv-save{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;margin-left:auto}
.sv-save__hint{color:var(--lm-text-muted);font-size:14px;line-height:1.5;text-align:right}
.sv-save__hint:empty{display:none}
.sv-save>.btn.quiet{margin-right:-12px;margin-left:0;border-right-width:0}
.sv-missing{display:grid;gap:4px;margin-bottom:16px;padding:12px 16px 4px;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)}
.sv-missing__label{display:flex;align-items:center;gap:8px;color:var(--lm-warning-text)}
.sv-missing__links{display:flex;flex-wrap:wrap;gap:0 16px}
.sv-missing__links .btn.quiet{border-left-width:0}
.sv-answer{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;column-gap:12px;min-height:56px;padding:12px 16px;color:var(--lm-text)}
li.sv-answer{grid-template-columns:24px minmax(0,1fr)}
a.sv-answer{transition:background-color var(--lm-duration-fast) var(--lm-ease-out)}
a.sv-answer:active{background:var(--lm-bg-subtle)}
a.sv-answer:focus-visible{outline-offset:-3px}
@media (hover:hover) {
a.sv-answer:hover{background:var(--lm-bg-subtle)}
}
.sv-answer__n{color:var(--lm-text-muted);font-size:14px;line-height:1.5;text-align:right}
.sv-answer__body{display:grid;gap:4px;min-width:0}
.sv-answer__q{color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.sv-answer__a{color:var(--lm-text-strong);font-size:16px;line-height:1.5;white-space:pre-line}
.sv-answer__a.is-missing{color:var(--lm-warning-text)}
.sv-answer__a.is-skipped{color:var(--lm-text-muted)}
.sv-answer__edit{align-self:center;color:var(--lm-primary);font-size:14px;line-height:1.5}
.sv-sheet__desc{margin-top:8px;color:var(--lm-text)}
.sv-sheet__count{margin-top:4px;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.sv-sheet__count:empty{display:none}
.sv-blocked{display:grid;justify-items:center;gap:8px;padding:48px 24px;text-align:center}
.sv-blocked>.lm-icon{color:var(--lm-text-muted)}
.sv-blocked__title{color:var(--lm-text-strong);font-size:18px;line-height:1.35}
.sv-blocked__id{color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.sv-blocked>.btn{margin-top:8px}
.sv-skel-list{margin-top:12px}
@media (prefers-reduced-motion:reduce) {
.sv-tabs [role="tab"],.sv-progress__fill,.sv-choice,.sv-choice__mark,.sv-choice__mark::after,a.sv-answer{transition:none}
}
