/* Self-hosted genuine Google Fonts families; SIL OFL licenses in lao-fonts/. */
@font-face{font-family:"UPOS Phetsarath";font-style:normal;font-weight:400;font-display:swap;src:url("./lao-fonts/Phetsarath-Regular.woff2") format("woff2")}
@font-face{font-family:"UPOS Phetsarath";font-style:normal;font-weight:700;font-display:swap;src:url("./lao-fonts/Phetsarath-Bold.woff2") format("woff2")}
@font-face{font-family:"UPOS Noto Serif Lao";font-style:normal;font-weight:100 900;font-display:swap;src:url("./lao-fonts/NotoSerifLao-variable.woff2") format("woff2")}
@font-face{font-family:"UPOS Noto Sans Lao";font-style:normal;font-weight:100 900;font-display:swap;src:url("./lao-fonts/NotoSansLao-variable.woff2") format("woff2")}
@font-face{font-family:"UPOS Noto Sans Lao Looped";font-style:normal;font-weight:100 900;font-display:swap;src:url("./lao-fonts/NotoSansLaoLooped-variable.woff2") format("woff2")}
html[data-lao-font] body{font-family:var(--font-sans)}
html[data-lao-font] button,html[data-lao-font] input,html[data-lao-font] select,html[data-lao-font] textarea{font-family:inherit}
.upos-font-settings{margin-top:32px;padding-top:24px;border-top:1px solid var(--border);scroll-margin-top:24px}
.upos-font-settings h2{font-size:20px;font-weight:700;line-height:1.7}
.upos-font-description{color:var(--muted-foreground);font-size:14px;line-height:1.9;max-width:760px;margin-top:6px}
.upos-font-current{font-size:14px;line-height:1.8;margin:16px 0}
.upos-font-settings fieldset{min-width:0;margin:0;padding:0;border:0}
.upos-font-settings legend{font-size:14px;font-weight:600;margin-bottom:12px}
.upos-font-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.upos-font-option{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--card);cursor:pointer;min-width:0}
.upos-font-option:hover{border-color:var(--primary)}
.upos-font-option.is-selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}
.upos-font-option:focus-within{outline:2px solid var(--ring);outline-offset:3px}
.upos-font-option-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;line-height:1.8}
.upos-font-option input{width:18px;height:18px;flex-shrink:0;accent-color:var(--primary)}
.upos-font-sample{display:block;font-size:24px;line-height:2;overflow-wrap:anywhere}
.upos-font-numbers{font-size:14px;line-height:1.9;color:var(--muted-foreground)}
.upos-font-save{margin-top:20px;min-height:44px;padding:10px 20px;border:0;border-radius:9px;background:var(--primary);color:var(--primary-foreground);font-weight:600;line-height:1.8;cursor:pointer}
.upos-font-save:disabled{opacity:.55;cursor:default}
.upos-font-save:focus-visible{outline:2px solid var(--ring);outline-offset:3px}
.upos-font-status{min-height:28px;margin-top:10px;color:var(--primary);font-size:14px;line-height:1.9}
.upos-font-status.is-error{color:var(--destructive)}
@media(max-width:640px){.upos-font-grid{grid-template-columns:minmax(0,1fr)}.upos-font-option{padding:16px}.upos-font-save{width:100%}.upos-font-sample{font-size:22px}}
