:root{--lx-paper: #ffffff;--lx-desk: #f6f6f8;--lx-wash: #fafafb;--lx-ink: #211d33;--lx-ink-2: #4c4761;--lx-ink-3: #6e6a80;--lx-ink-4: #9b97a9;--lx-rule: #e2e0e7;--lx-rule-2: #cfccd8;--lx-violet: #6d28d9;--lx-violet-deep: #5b21b6;--lx-violet-wash: #f3effc;--lx-cyan: #0b6e93;--lx-cyan-wash: #eaf5f9;--lx-marker: #fde68a;--lx-ok: #12805c;--lx-warn: #a15c07;--lx-danger: #b3261e;--lx-danger-wash: #fdf3f2;--lx-r-panel: 2px;--lx-r-control: 3px;--lx-s1: 4px;--lx-s2: 8px;--lx-s3: 12px;--lx-s4: 16px;--lx-s5: 20px;--lx-s6: 24px;--lx-s7: 32px;--lx-s8: 40px;--lx-s9: 56px;--lx-font-sans: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--lx-font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Songti SC", "Noto Serif SC", Georgia, serif;--lx-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lx-t-1: 12px;--lx-t-2: 14px;--lx-t-3: 16px;--lx-t-nav: 16px;--lx-t-4: 18px;--lx-t-5: 24px;--lx-t-6: 34px;--lx-t-7: 44px;--lx-ease-out: cubic-bezier(.16, 1, .3, 1);--lx-ease-in: cubic-bezier(.55, 0, 1, .45);--lx-dur-fast: .12s;--lx-dur: .18s;--lx-dur-step: .24s;--lx-sidebar-w: 280px;--lx-topbar-h: 60px;--lx-content-max: 1680px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--lx-desk);color:var(--lx-ink);font-family:var(--lx-font-sans);font-size:var(--lx-t-3);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--lx-violet);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}button{font-family:inherit;font-size:inherit;cursor:pointer}input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--lx-violet);outline-offset:2px}.lx-en{font-family:var(--lx-font-serif)}.lx-mono{font-family:var(--lx-font-mono);font-size:var(--lx-t-2);font-variant-numeric:tabular-nums}.lx-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--lx-s2);height:38px;padding:0 16px;border-radius:var(--lx-r-control);border:1px solid transparent;background:transparent;color:var(--lx-ink-2);font-size:var(--lx-t-3);font-weight:600;letter-spacing:0;transition:background-color var(--lx-dur-fast) linear,color var(--lx-dur-fast) linear,border-color var(--lx-dur-fast) linear}.lx-btn--primary{background:var(--lx-violet);border-color:var(--lx-violet);color:#fff}.lx-btn--primary:hover:not(:disabled){background:var(--lx-violet-deep);border-color:var(--lx-violet-deep)}.lx-btn--primary:active:not(:disabled){transform:translateY(1px)}.lx-btn--ghost{background:var(--lx-paper);border-color:var(--lx-rule-2);color:var(--lx-ink-2)}.lx-btn--ghost:hover:not(:disabled){border-color:var(--lx-ink-4);color:var(--lx-ink)}.lx-btn--text{height:30px;padding:0 2px;color:var(--lx-ink-3);font-weight:500}.lx-btn--text:hover:not(:disabled){color:var(--lx-violet);text-decoration:underline;text-underline-offset:3px}.lx-btn--block{width:100%;height:46px}.lx-btn:disabled{color:var(--lx-ink-4);border-color:var(--lx-rule);background:var(--lx-wash);cursor:not-allowed}.lx-btn--text:disabled{border-color:transparent;background:transparent}.lx-btn--primary:disabled{background:var(--lx-rule);border-color:var(--lx-rule);color:var(--lx-ink-4)}.lx-field{display:flex;flex-direction:column;gap:6px}.lx-field__label{font-size:var(--lx-t-3);font-weight:500;color:var(--lx-ink-2)}.lx-field__hint{font-size:var(--lx-t-1);color:var(--lx-ink-4)}.lx-form{display:flex;flex-direction:column;gap:var(--lx-s4)}.lx-input{height:48px;padding:0 12px;border-radius:var(--lx-r-control);border:1px solid var(--lx-rule-2);background:var(--lx-paper);color:var(--lx-ink);font-size:var(--lx-t-3);outline:none;transition:border-color var(--lx-dur-fast) linear,box-shadow var(--lx-dur-fast) linear}.lx-input::placeholder{color:var(--lx-ink-4)}.lx-input:hover:not(:disabled){border-color:var(--lx-ink-4)}.lx-input:focus{border-color:var(--lx-violet);box-shadow:0 0 0 3px #6d28d91a}.lx-input--code{font-family:var(--lx-font-mono);font-size:var(--lx-t-5);font-variant-numeric:tabular-nums;letter-spacing:.28em}.lx-badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 6px;border:1px solid var(--lx-rule);border-radius:var(--lx-r-control);background:var(--lx-paper);color:var(--lx-ink-2);font-size:var(--lx-t-1);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.lx-badge .lx-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}.lx-badge--up{color:var(--lx-ok);border-color:#12805c47}.lx-badge--degraded{color:var(--lx-warn);border-color:#a15c0747}.lx-badge--down{color:var(--lx-danger);border-color:#b3261e47}.lx-badge--skip{color:var(--lx-ink-4)}.lx-badge--brand{color:var(--lx-violet);border-color:#6d28d93d}.lx-badge--outline{border-style:dashed;border-color:var(--lx-rule-2);color:var(--lx-ink-3)}.lx-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.lx-shell{display:flex;min-height:100vh}.lx-sidebar{width:var(--lx-sidebar-w);flex:0 0 var(--lx-sidebar-w);background:var(--lx-paper);border-right:1px solid var(--lx-rule);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.lx-sidebar__brand{display:flex;align-items:center;gap:10px;height:var(--lx-topbar-h);flex:0 0 var(--lx-topbar-h);padding:0 var(--lx-s5);border-bottom:1px solid var(--lx-rule)}.lx-sidebar__brand img{width:30px;height:30px;display:block}.lx-sidebar__brand-name{font-size:var(--lx-t-4);font-weight:600;line-height:1.2;letter-spacing:.01em}.lx-sidebar__brand-end{font-size:var(--lx-t-1);color:var(--lx-ink-3);line-height:1.3}.lx-nav__label{margin:var(--lx-s5) var(--lx-s6) 8px;font-size:var(--lx-t-1);font-weight:500;color:var(--lx-ink-4)}.lx-nav{display:flex;flex-direction:column;padding:0 12px;overflow-y:auto}.lx-nav__item{display:flex;align-items:center;gap:var(--lx-s2);height:46px;padding:0 10px 0 12px;border-left:2px solid transparent;border-radius:0 var(--lx-r-control) var(--lx-r-control) 0;color:var(--lx-ink-2);font-size:var(--lx-t-nav);transition:color var(--lx-dur-fast) linear,background-color var(--lx-dur-fast) linear,border-left-color var(--lx-dur-fast) linear}.lx-nav__item:hover{background:var(--lx-wash);color:var(--lx-ink);text-decoration:none}.lx-nav__item--active{border-left-color:var(--lx-violet);background:var(--lx-violet-wash);color:var(--lx-violet);font-weight:600}.lx-nav__tag{margin-left:auto;font-size:var(--lx-t-1);font-weight:400;color:var(--lx-ink-4);font-variant-numeric:tabular-nums}.lx-nav__item--active .lx-nav__tag{color:var(--lx-violet)}.lx-sidebar__footer{margin-top:auto;padding:var(--lx-s4) var(--lx-s5);border-top:1px solid var(--lx-rule);font-size:var(--lx-t-1);line-height:1.7;color:var(--lx-ink-4);font-variant-numeric:tabular-nums}.lx-main{flex:1;min-width:0;display:flex;flex-direction:column}.lx-topbar{height:var(--lx-topbar-h);flex:0 0 var(--lx-topbar-h);background:var(--lx-paper);border-bottom:1px solid var(--lx-rule);display:flex;align-items:center;gap:var(--lx-s3);padding:0 var(--lx-s7);position:sticky;top:0;z-index:10}.lx-topbar__title{font-size:var(--lx-t-3);color:var(--lx-ink-3)}.lx-topbar__title b{color:var(--lx-ink-2);font-weight:600}.lx-topbar__spacer{flex:1}.lx-user{display:flex;align-items:center;gap:var(--lx-s3)}.lx-user__avatar{width:32px;height:32px;border-radius:var(--lx-r-control);border:1px solid var(--lx-rule-2);background:var(--lx-paper);color:var(--lx-violet);font-family:var(--lx-font-serif);font-size:var(--lx-t-3);display:flex;align-items:center;justify-content:center}.lx-user__meta{display:flex;align-items:baseline;gap:var(--lx-s2);font-size:var(--lx-t-3);line-height:1.3}.lx-user__name{font-weight:600;color:var(--lx-ink)}.lx-user__role{color:var(--lx-ink-3);font-variant-numeric:tabular-nums}.lx-content{padding:var(--lx-s8) var(--lx-s8) var(--lx-s9);max-width:var(--lx-content-max);width:100%;margin:0 auto}.lx-page-head{display:flex;align-items:flex-start;gap:var(--lx-s4);padding-bottom:var(--lx-s4);border-bottom:1px solid var(--lx-rule);margin-bottom:var(--lx-s7)}.lx-page-head__main{min-width:0}.lx-page-head__title{margin:0;font-size:var(--lx-t-6);font-weight:600;line-height:1.25;letter-spacing:-.015em}.lx-page-head__sub{margin:8px 0 0;color:var(--lx-ink-3);font-size:var(--lx-t-3);font-variant-numeric:tabular-nums}.lx-page-head__aside{margin-left:auto;padding-top:6px;display:flex;align-items:center;gap:var(--lx-s2)}.lx-card{background:var(--lx-paper);border:1px solid var(--lx-rule);border-radius:var(--lx-r-panel)}.lx-card__head{display:flex;align-items:baseline;gap:var(--lx-s2);padding:var(--lx-s4) var(--lx-s6);border-bottom:1px solid var(--lx-rule)}.lx-card__title{margin:0;font-size:var(--lx-t-4);font-weight:600;letter-spacing:0}.lx-card__meta{margin-left:auto;font-size:var(--lx-t-1);color:var(--lx-ink-4);font-variant-numeric:tabular-nums}.lx-card__body{padding:var(--lx-s5) var(--lx-s6) var(--lx-s6)}.lx-card__hint{color:var(--lx-ink-3);font-size:var(--lx-t-3)}.lx-grid{display:grid;gap:var(--lx-s5)}.lx-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.lx-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.lx-grid--dash{grid-template-columns:minmax(0,1fr) 400px;align-items:start}.lx-stack{display:flex;flex-direction:column;gap:var(--lx-s5)}.lx-blank{display:flex;gap:var(--lx-s3);padding:var(--lx-s4) 0 var(--lx-s2);border-top:1px solid var(--lx-rule)}.lx-blank:before{content:"";flex:0 0 2px;background:var(--lx-rule);border-radius:1px}.lx-blank__title{font-size:var(--lx-t-3);font-weight:600;color:var(--lx-ink);margin:0 0 4px}.lx-blank__text{margin:0;font-size:var(--lx-t-3);color:var(--lx-ink-3);max-width:66ch}.lx-status__row{display:flex;align-items:center;justify-content:space-between;gap:var(--lx-s2);padding:10px 0;border-bottom:1px solid var(--lx-rule)}.lx-status__row:last-of-type{border-bottom:none}.lx-status__name{font-size:var(--lx-t-3);color:var(--lx-ink-2)}.lx-status__value{font-family:var(--lx-font-mono);font-size:var(--lx-t-3);font-variant-numeric:tabular-nums;color:var(--lx-ink-3)}.lx-table{width:100%;border-collapse:collapse;font-size:var(--lx-t-2);table-layout:fixed}.lx-table th,.lx-table td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--lx-rule);word-break:break-word}.lx-table th{font-size:var(--lx-t-2);font-weight:600;color:var(--lx-ink-2);border-bottom-color:var(--lx-rule-2)}.lx-table td{color:var(--lx-ink-2);font-variant-numeric:tabular-nums}.lx-table tbody tr:hover td{background:var(--lx-wash)}.lx-dep{padding:7px 0;border-top:1px solid var(--lx-rule)}.lx-dep:first-of-type{border-top:none}.lx-dep__head{display:flex;align-items:center;justify-content:space-between;gap:var(--lx-s2)}.lx-dep__detail{margin-top:3px;font-size:var(--lx-t-2);color:var(--lx-ink-3);word-break:break-word}.lx-wordlist{position:relative;width:100%;max-width:480px;background:var(--lx-paper);border:1px solid var(--lx-rule-2);border-radius:var(--lx-r-panel)}.lx-wordlist:before{content:"";position:absolute;left:-1px;top:-1px;width:64px;height:2px;background:var(--lx-violet)}.lx-wordlist__head,.lx-wordlist__row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.85fr);gap:var(--lx-s3);align-items:baseline;padding:10px 18px}.lx-wordlist__head{font-size:var(--lx-t-1);color:var(--lx-ink-4);border-bottom:1px solid var(--lx-rule-2)}.lx-wordlist__row{border-bottom:1px solid var(--lx-rule)}.lx-wordlist__row:last-child{border-bottom:none}.lx-wordlist__word{font-family:var(--lx-font-serif);font-size:var(--lx-t-5);line-height:1.35;color:var(--lx-ink)}.lx-wordlist__word i{margin-left:5px;font-style:italic;font-size:var(--lx-t-2);color:var(--lx-ink-4)}.lx-wordlist__ipa{font-family:var(--lx-font-serif);font-size:var(--lx-t-3);color:var(--lx-cyan)}.lx-wordlist__def{font-size:var(--lx-t-3);color:var(--lx-ink-2)}.lx-auth{min-height:100vh;display:grid;grid-template-columns:minmax(420px,620px) minmax(0,1fr);grid-template-areas:"aside main";background:var(--lx-paper)}.lx-auth__main{grid-area:main;display:flex;flex-direction:column;align-items:center;padding:var(--lx-s8) var(--lx-s7) var(--lx-s6);min-width:0}.lx-auth__inner{display:flex;flex-direction:column;width:100%;max-width:480px;flex:1}.lx-auth__brand{display:flex;align-items:center;gap:10px}.lx-auth__brand img{width:32px;height:32px;display:block}.lx-auth__name{font-size:var(--lx-t-4);font-weight:600;line-height:1.2;letter-spacing:.01em}.lx-auth__latin{font-family:var(--lx-font-serif);font-size:var(--lx-t-1);letter-spacing:.16em;color:var(--lx-ink-3);line-height:1.4}.lx-auth__form{width:100%;max-width:480px;margin:auto 0;padding:var(--lx-s7) 0}.lx-auth__step{animation:lx-step-in var(--lx-dur-step) var(--lx-ease-out) both}@keyframes lx-step-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.lx-auth__end{margin:0 0 6px;font-size:var(--lx-t-2);color:var(--lx-ink-3)}.lx-auth__title{margin:0 0 6px;font-size:var(--lx-t-6);font-weight:600;letter-spacing:-.015em;line-height:1.2}.lx-auth__sub{margin:0 0 var(--lx-s5);font-size:var(--lx-t-2);line-height:1.7;color:var(--lx-ink-3);max-width:46ch}.lx-auth__form form{display:flex;flex-direction:column;gap:var(--lx-s4);padding-top:var(--lx-s5);border-top:1px solid var(--lx-rule)}.lx-auth__error{display:flex;flex-direction:column;gap:2px;padding:9px 11px;border:1px solid rgba(179,38,30,.28);border-left:2px solid var(--lx-danger);border-radius:var(--lx-r-control);background:var(--lx-danger-wash);color:var(--lx-danger);font-size:var(--lx-t-2)}.lx-auth__error strong{font-weight:600}.lx-auth__error span{color:var(--lx-ink-3)}.lx-auth__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--lx-s2);padding-top:2px}.lx-auth__foot{font-size:var(--lx-t-1);color:var(--lx-ink-4);line-height:1.7}.lx-auth__aside{grid-area:aside;display:flex;flex-direction:column;gap:var(--lx-s6);padding:var(--lx-s7) var(--lx-s7) var(--lx-s6);background:var(--lx-desk);border-right:1px solid var(--lx-rule)}.lx-auth__aside-head{display:flex;align-items:center;gap:var(--lx-s2);height:30px;padding-bottom:var(--lx-s3);border-bottom:1px solid var(--lx-rule);font-size:var(--lx-t-2);color:var(--lx-ink-3)}.lx-auth__aside-head b{font-weight:600;color:var(--lx-ink-2)}.lx-auth__aside-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lx-s6)}.lx-auth__captions{max-width:420px;font-size:var(--lx-t-3);line-height:1.8;color:var(--lx-ink-3)}.lx-auth__captions b{display:block;font-weight:600;color:var(--lx-ink-2);margin-bottom:2px}.lx-devcode{display:inline-flex;align-items:center;gap:6px;padding:0 2px;font-size:var(--lx-t-2);color:var(--lx-ink-2);align-self:flex-start}.lx-devcode span{color:var(--lx-ink-4)}.lx-devcode code{font-family:var(--lx-font-mono);font-size:var(--lx-t-2);font-weight:600;letter-spacing:.12em;padding:0 4px;background:linear-gradient(to top,var(--lx-marker) 46%,transparent 46%)}.lx-toasts{position:fixed;bottom:var(--lx-s5);right:var(--lx-s5);z-index:60;display:flex;flex-direction:column;gap:var(--lx-s2);width:336px}.lx-toast{display:flex;gap:var(--lx-s2);padding:10px 12px;background:var(--lx-paper);border:1px solid var(--lx-rule-2);border-left:2px solid var(--lx-violet);border-radius:var(--lx-r-panel);box-shadow:0 8px 24px #211d331f;animation:lx-toast-in var(--lx-dur) var(--lx-ease-out) both}.lx-toast--error{border-left-color:var(--lx-danger)}.lx-toast--success{border-left-color:var(--lx-ok)}.lx-toast__body{flex:1;min-width:0}.lx-toast__title{font-size:var(--lx-t-2);font-weight:600;color:var(--lx-ink)}.lx-toast__text{font-size:var(--lx-t-2);color:var(--lx-ink-3);word-break:break-word}.lx-toast__code{margin-top:3px;font-family:var(--lx-font-mono);font-size:var(--lx-t-1);color:var(--lx-ink-4);word-break:break-all}.lx-toast__close{border:none;background:transparent;color:var(--lx-ink-4);font-size:15px;line-height:1;padding:0 2px;align-self:flex-start}.lx-toast__close:hover{color:var(--lx-ink)}@keyframes lx-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.lx-state{padding:72px 0;max-width:620px}.lx-state__code{font-size:var(--lx-t-1);font-weight:600;color:var(--lx-violet);letter-spacing:.04em;font-variant-numeric:tabular-nums}.lx-state__title{margin:8px 0 10px;font-size:var(--lx-t-6);font-weight:600;line-height:1.25;letter-spacing:-.015em}.lx-state__text{margin:0 0 var(--lx-s5);padding-left:var(--lx-s3);border-left:2px solid var(--lx-rule-2);color:var(--lx-ink-3);font-size:var(--lx-t-3);line-height:1.8;max-width:56ch}.lx-state__actions{display:flex;align-items:center;gap:var(--lx-s2)}.lx-splash{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--lx-ink-3);font-size:var(--lx-t-2)}.lx-splash img{width:26px;height:26px}@media (max-width: 1180px){.lx-grid--dash{grid-template-columns:minmax(0,1fr)}.lx-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.lx-grid--2{grid-template-columns:minmax(0,1fr)}}@media (max-width: 960px){.lx-auth{grid-template-columns:minmax(0,1fr);grid-template-areas:"main"}.lx-auth__aside{display:none}.lx-content,.lx-topbar{padding-left:var(--lx-s4);padding-right:var(--lx-s4)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
