@font-face{font-family:'VP SUIT';src:url('../fonts/ui/SUIT-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'VP Pretendard';src:url('../fonts/ui/PretendardVariable.woff2') format('woff2');font-weight:45 920;font-style:normal;font-display:swap}
@font-face{font-family:'VP Wanted';src:url('../fonts/ui/WantedSansVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'VP IBM';src:url('../fonts/ui/IBMPlexSansKR-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'VP IBM';src:url('../fonts/ui/IBMPlexSansKR-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'VP IBM';src:url('../fonts/ui/IBMPlexSansKR-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'VP IBM';src:url('../fonts/ui/IBMPlexSansKR-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'VP Nanum';src:url('../fonts/ui/NanumSquareNeo-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'VP JetBrains Mono';src:url('../fonts/ui/JetBrainsMono-Variable.woff2') format('woff2');font-weight:100 800;font-style:normal;font-display:swap}
@font-face{font-family:'VP Fira Code';src:url('../fonts/ui/FiraCode-VF.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
/* 앱 영역에만 적용한다. iframe 자료·발표·검토 문서는 원래 서체를 유지한다. */
body.workspace{font-family:var(--ws-ui-font,-apple-system),BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}
body.workspace button,body.workspace input,body.workspace select,body.workspace textarea{font-family:inherit}
#wsUIFontCard .setrow{align-items:flex-start;gap:16px}
#wsUIFontCard .setctl{flex:1;min-width:0;max-width:420px;display:block}
#wsUIFontCard .gh-select-button{width:100%;min-height:44px;font-size:calc(13px * var(--ws-font-scale,1))}
#wsUIFontCard .setlbl{min-width:100px;padding-top:8px}
.ws-font-preview{border:1px solid var(--ws-line);border-radius:6px;padding:16px;margin:12px 0;background:var(--ws-bg);font-size:calc(14px * var(--ws-font-scale,1));line-height:1.8;overflow-wrap:anywhere}
.ws-font-preview p{margin:0}.ws-font-preview small{font-size:calc(12px * var(--ws-font-scale,1));color:var(--muted)}
#wsUIFontStatus{display:block;min-height:24px;font-size:calc(12px * var(--ws-font-scale,1));line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
#wsUIFontStatus[data-error=true]{color:var(--vp-red,#ef7878)}
@media(max-width:640px){#wsUIFontCard .setrow{display:block}#wsUIFontCard .setlbl{display:block;padding:0 0 10px}#wsUIFontCard .setctl{max-width:none}}
body.workspace .gh-select-popup button{font-size:calc(12px * var(--ws-font-scale,1));line-height:1.6}
body.workspace .gh-select-group{font-size:calc(10px * var(--ws-font-scale,1))}
body.workspace .sn-item{font-size:calc(12px * var(--ws-font-scale,1))}

.ws-font-size-field{display:flex;align-items:center;gap:8px;max-width:100%}#wsUIFontCard #wsUIFontSize{width:96px;max-width:100%;min-height:44px;padding:8px 10px;font-size:calc(13px * var(--ws-font-scale,1));font-variant-numeric:tabular-nums}#wsUIFontRange{display:block;margin-top:6px;color:var(--muted);font-size:calc(11px * var(--ws-font-scale,1))}#wsUIFontSize[aria-invalid=true]{border-color:var(--red-text)}
@media(max-width:900px){#wsUIFontCard #wsUIFontSize{font-size:max(16px,calc(13px * var(--ws-font-scale,1)))}}
