:root{color:#18202d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#111923;--ink-soft:#2b3845;--muted:#596a79;--faint:#7f8d99;--line:#dce4e9;--line-strong:#cbd6dd;--surface:#fff;--surface-subtle:#f4f7f8;--canvas:#f5f8fa;--blue:#087ea4;--blue-dark:#06647f;--blue-soft:#e8f6fa;--green:#187258;--green-soft:#edf7f3;--amber:#a96318;--amber-soft:#fff7ec;--red:#b73e45;--red-soft:#fff2f3;--radius:8px;--radius-tight:4px;--sidebar:236px;--shadow-sm:0 1px 2px #10232d09, 0 12px 30px #10323f0f;--shadow-md:0 1px 2px #10232d0d, 0 26px 70px #0a232f1f;background:#f5f8fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI Variable,SF Pro Text,PingFang SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;min-width:320px}body{min-width:320px;min-height:100vh;color:var(--ink);margin:0}body:before{content:"";pointer-events:none;background-image:linear-gradient(#0e536906 1px,#0000 1px),linear-gradient(90deg,#0e536906 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0}#root{position:relative}button,input,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}h1,h2,h3,p{margin-top:0}#root,.fui-FluentProvider{min-height:100vh}.app-boot{min-height:100vh;color:var(--ink);background:#ffffffe0;place-content:center;justify-items:center;gap:12px;padding:32px;display:grid}.app-boot-mark{color:#087ea4;letter-spacing:.04em;background:#edf8fb;border:1px solid #b9d8e4;border-radius:12px;place-items:center;width:48px;height:48px;font-weight:800;display:grid}.app-boot-copy{text-align:center;gap:3px;display:grid}.app-boot-copy strong{font-size:16px}.app-boot-copy span{color:var(--muted);font-size:13px}.app-boot-progress{background:#dcecf1;border-radius:999px;width:160px;height:3px;overflow:hidden}.app-boot-progress:after{content:"";border-radius:inherit;background:#087ea4;width:40%;height:100%;animation:1.2s ease-in-out infinite app-boot-progress;display:block}.app-boot-error button{color:#075fba;background:#fff;border:1px solid #cbd6dd;border-radius:6px;padding:9px 16px;font-weight:700}.app-error-boundary{min-height:100vh;color:var(--ink);text-align:center;background:#fffffff0;place-content:center;justify-items:center;gap:18px;padding:40px 24px;display:grid}.app-error-mark{color:#b4444f;background:#fff2f3;border:1px solid #efcbd0;border-radius:14px;place-items:center;width:54px;height:54px;font-size:24px;font-weight:800;display:grid}.app-error-copy{gap:7px;max-width:520px;display:grid}.app-error-copy>span{color:#a7656c;letter-spacing:.08em;font-size:11px;font-weight:800}.app-error-copy h1{margin:0;font-size:24px}.app-error-copy p{color:var(--muted);margin:0;font-size:14px;line-height:1.7}.app-error-copy small{color:var(--faint);font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.app-error-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.app-error-actions button{color:#fff;background:#0c74dc;border:1px solid #0c74dc;border-radius:6px;padding:10px 16px;font-weight:700}.app-error-actions button.secondary{color:#075fba;background:#fff;border-color:#cbd6dd}@keyframes app-boot-progress{0%{transform:translate(-100%)}60%,to{transform:translate(350%)}}@media (prefers-reduced-motion:reduce){.app-boot-progress:after{animation:none;transform:translate(150%)}}::selection{color:#12234a;background:#dce8ff}:where(button,input,select,a):focus-visible{outline-offset:2px;outline:2px solid #255db5b8}button,a,select,input{transition:border-color .18s,background-color .18s,color .18s,box-shadow .18s,transform .18s}button:active:not(:disabled){transform:translateY(1px)}strong,b,dd,td{font-variant-numeric:tabular-nums}
