/* Two deliberately drawn palettes. Theme tokens never alter embedded site content. */
:root{--paper:#f8f8f0;--panel:#fffef8;--sidebar:#eff1e6;--soft:#f0f3e6;--ink:#3c5037;--muted:#64725b;--line:#dce3d0;--primary:#566d46;--on-primary:#fffdf4;--sage:#e1e9ce;--sage-ink:#506b3e;--lilac:#eae2ef;--lilac-ink:#7a628f;--butter:#f4e9bd;--butter-ink:#80692e;--peach:#f0dfd0;--peach-ink:#946a4c;--shadow:0 12px 40px #3545290d;--backdrop:#25382342;--error:#9c583d;--focus:#788cbe;--stage:#e5e8de;color-scheme:light}
:root[data-theme="dark"]{--paper:#19211d;--panel:#222d26;--sidebar:#1c2721;--soft:#29372b;--ink:#e2e8d7;--muted:#b0bea6;--line:#3b4b3d;--primary:#bfd2a1;--on-primary:#22301c;--sage:#3b4c31;--sage-ink:#c4d8a6;--lilac:#443b50;--lilac-ink:#d5c1e7;--butter:#49422b;--butter-ink:#e7d38f;--peach:#4c3b30;--peach-ink:#e6bd9e;--shadow:0 12px 40px #00000022;--backdrop:#070e0b99;--error:#ecb093;--focus:#b4bee8;--stage:#111915;color-scheme:dark}
@font-face{font-family:Noto Thai;src:url('./fonts/NotoSansThai.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Noto Lao;src:url('./fonts/NotoSansLao.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Noto Khmer;src:url('./fonts/NotoSansKhmer.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Noto Myanmar;src:url('./fonts/NotoSansMyanmar.ttf') format('truetype');font-weight:100 900;font-display:swap}
*{box-sizing:border-box}html{font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.6;font-synthesis:none;text-size-adjust:100%;-webkit-text-size-adjust:100%;--preview-height:62px}html:lang(zh-CN),[lang="zh-CN"]{font-family:"PingFang SC","Microsoft YaHei",sans-serif}html:lang(zh-TW),[lang="zh-TW"]{font-family:"PingFang TC","Microsoft JhengHei",sans-serif}html:lang(ja),[lang="ja"]{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}html:lang(ko),[lang="ko"]{font-family:"Apple SD Gothic Neo","Malgun Gothic",sans-serif;word-break:keep-all}html:lang(th),[lang="th"]{font-family:"Noto Thai",sans-serif;line-height:1.85}html:lang(lo),[lang="lo"]{font-family:"Noto Lao",sans-serif;line-height:1.85}html:lang(km),[lang="km"]{font-family:"Noto Khmer",sans-serif;line-height:1.95}html:lang(my),[lang="my"]{font-family:"Noto Myanmar",sans-serif;line-height:1.95}
body{margin:0;background:var(--paper);color:var(--ink);height:100dvh;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button,select,input{outline-offset:3px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus)}button{touch-action:manipulation}button span{min-width:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.4;font-weight:650;text-wrap:pretty}h1{font-size:36px}h2{font-size:18px}h3{font-size:20px}p{line-height:1.8}small{font-size:12px}input,select{max-width:100%;min-width:0}select{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px}code,pre,.service-address{font-family:"Cascadia Code",Consolas,monospace}code,bdi,.path-breadcrumb{overflow-wrap:anywhere}bdi{unicode-bidi:isolate}fieldset{min-width:0;border:0;padding:0;margin:0 0 22px}legend{font-weight:600;font-size:13px;margin-bottom:10px}summary{cursor:pointer}summary::marker{color:var(--muted)}[hidden]{display:none!important}.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.btn,.icon-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);min-height:44px;padding:10px 17px;font-size:13px;line-height:1.5;font-weight:550;text-align:center;white-space:normal}.btn:hover{background:var(--soft)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn.primary:hover{filter:brightness(1.06)}.btn.small{font-size:12px;padding:8px 12px;min-height:38px}.icon-button{width:40px;min-width:40px;height:40px;min-height:40px;padding:9px;border-color:transparent;background:transparent;color:var(--muted);border-radius:9px}.icon-button:hover,.text-button:hover{background:var(--soft);color:var(--ink)}.text-button{background:none;border:0;color:var(--muted);padding:9px 5px}.full-width{width:100%}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7d9c60;box-shadow:0 0 0 3px #91ac7520;flex-shrink:0}.status-dot.amber{background:#b49a58;box-shadow:0 0 0 3px #b49a5820}
