:root{--ui-shape:soft;--r-xs:6px;--r-sm:10px;--r-md:12px;--r-lg:14px;--r-pill:999px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--lh-xs:16px;--lh-sm:18px;--lh-md:20px;--lh-lg:22px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--h-xs:26px;--h-sm:30px;--h-md:34px;--h-lg:38px;--bd:1px;--bd-2:2px;--dur-fast:120ms;--dur:160ms;--dur-slow:220ms;--ease:cubic-bezier(0.2,0.6,0.2,1);--bg:#0b1220;--panel:#fff;--panel-2:#f6f8fc;--text:#0f172a;--text-2:rgba(15,23,42,.62);--text-3:rgba(15,23,42,.42);--border:rgba(15,23,42,.1);--border-2:rgba(15,23,42,.08);--hover:rgba(15,23,42,.05);--glass:rgba(15,23,42,.03);--glass-2:rgba(15,23,42,.06);--shadow:0 12px 30px rgba(16,24,40,.1);--scrollbar-thumb:rgba(100,116,139,.3);--brand:#3b82f6;--brand-weak:rgba(59,130,246,.14);--brand-strong:rgba(59,130,246,.92);--info:#3b82f6;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--active:rgba(59,130,246,.12);--active-bd:rgba(59,130,246,.28);--focus-ring:rgba(59,130,246,.26);--input-bg:var(--panel);--input-bd:var(--border);--input-text:var(--text);--input-placeholder:var(--text-3);--input-hover-bd:rgba(15,23,42,.18);--input-focus-bd:rgba(59,130,246,.6);--btn-bg:var(--panel);--btn-bd:var(--border);--btn-text:var(--text);--btn-hover-bg:rgba(15,23,42,.03);--btn-hover-bd:rgba(15,23,42,.16);--btn-primary-bg:rgba(59,130,246,.92);--btn-primary-bd:rgba(59,130,246,.92);--btn-primary-text:#fff;--sh-xs:0 6px 16px rgba(15,23,42,.1);--sh-sm:0 10px 24px rgba(15,23,42,.12);--sh-md:0 18px 46px rgba(15,23,42,.16)}body[data-ui-shape=sharp],html[data-ui-shape=sharp]{--ui-shape:sharp;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-pill:999px}body[data-motion="0"],html[data-motion="0"]{--dur-fast:0ms;--dur:0ms;--dur-slow:0ms}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur:0ms;--dur-slow:0ms}}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:var(--fs-md);line-height:var(--lh-md);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}img{height:auto;max-width:100%;vertical-align:middle}button,input,select,textarea{color:inherit;font:inherit}::selection{background:rgba(59,130,246,.24);color:var(--text)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:content-box;border:2px solid transparent;border-radius:999px}::-webkit-scrollbar-track{background:transparent}.lms-row{align-items:center;display:flex}.lms-col{display:flex;flex-direction:column}.lms-between{justify-content:space-between}.lms-between,.lms-center{align-items:center;display:flex}.lms-center{justify-content:center}.lms-gap-1{gap:var(--sp-1)}.lms-gap-2{gap:var(--sp-2)}.lms-gap-3{gap:var(--sp-3)}.lms-gap-4{gap:var(--sp-4)}.lms-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lms-muted{color:var(--text-2)}.lms-muted-2{color:var(--text-3)}.lms-c-info{color:var(--info)}.lms-c-success{color:var(--success)}.lms-c-warning{color:var(--warning)}.lms-c-danger{color:var(--danger)}.lms-btn{align-items:center;background:var(--btn-bg);border:var(--bd) solid var(--btn-bd);border-radius:var(--r-sm);color:var(--btn-text);cursor:pointer;display:inline-flex;gap:8px;height:var(--h-md);justify-content:center;line-height:1;padding:0 12px;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease);user-select:none}.lms-btn:hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-bd);box-shadow:var(--sh-xs);transform:translateY(-1px)}.lms-btn:active{box-shadow:none;transform:translateY(0)}.lms-btn:focus-visible{border-color:var(--input-focus-bd);box-shadow:0 0 0 4px var(--focus-ring);outline:none}.lms-btn.is-disabled,.lms-btn[disabled]{box-shadow:none!important;cursor:not-allowed;opacity:.55;transform:none!important}.lms-btn.is-primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-bd);color:var(--btn-primary-text)}.lms-btn.is-primary:hover{box-shadow:var(--sh-sm);filter:brightness(1.03);transform:translateY(-1px)}.lms-btn.is-ghost{background:transparent;border-color:rgba(59,130,246,.55);color:var(--brand)}.lms-btn.is-ghost:hover{background:var(--brand-weak);border-color:rgba(59,130,246,.65)}.lms-btn.is-text{background:transparent;border-color:transparent;color:var(--brand);padding:0 6px}.lms-btn.is-text:hover{background:var(--brand-weak);border-color:transparent;box-shadow:none}.lms-btn.is-danger{background:rgba(239,68,68,.92);border-color:rgba(239,68,68,.92);color:#fff}.lms-btn.is-danger:hover{box-shadow:var(--sh-sm);filter:brightness(1.03)}.lms-btn.is-xs{font-size:var(--fs-xs);height:var(--h-xs)}.lms-btn.is-sm,.lms-btn.is-xs{border-radius:var(--r-xs);padding:0 10px}.lms-btn.is-sm{font-size:var(--fs-sm);height:var(--h-sm)}.lms-btn.is-lg{border-radius:var(--r-md);font-size:var(--fs-md);height:var(--h-lg);padding:0 14px}.lms-icon-btn{border-radius:var(--r-sm);height:var(--h-md);padding:0;width:var(--h-md)}.lms-icon-btn.is-xs{height:var(--h-xs);width:var(--h-xs)}.lms-icon-btn.is-sm{height:var(--h-sm);width:var(--h-sm)}.lms-icon-btn.is-lg{height:var(--h-lg);width:var(--h-lg)}.lms-input,.lms-select,.lms-textarea{background:var(--input-bg);border:var(--bd) solid var(--input-bd);border-radius:var(--r-sm);color:var(--input-text);outline:none;padding:0 12px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);width:100%}.lms-input,.lms-select{height:var(--h-md);line-height:calc(var(--h-md) - 2px)}.lms-textarea{line-height:var(--lh-md);min-height:96px;padding:10px 12px;resize:vertical}.lms-input::placeholder,.lms-textarea::placeholder{color:var(--input-placeholder)}.lms-input:hover,.lms-select:hover,.lms-textarea:hover{border-color:var(--input-hover-bd)}.lms-input:focus,.lms-select:focus,.lms-textarea:focus{border-color:var(--input-focus-bd);box-shadow:0 0 0 4px var(--focus-ring)}.lms-input[disabled],.lms-select[disabled],.lms-textarea[disabled]{background:color-mix(in srgb,var(--panel-2) 70%,transparent);cursor:not-allowed;opacity:.65}.lms-input.is-xs,.lms-select.is-xs{border-radius:var(--r-xs);font-size:var(--fs-xs);height:var(--h-xs);padding:0 10px}.lms-input.is-sm,.lms-select.is-sm{border-radius:var(--r-xs);font-size:var(--fs-sm);height:var(--h-sm);padding:0 10px}.lms-input.is-lg,.lms-select.is-lg{border-radius:var(--r-md);font-size:var(--fs-md);height:var(--h-lg);padding:0 14px}.lms-field{align-items:center;display:flex;gap:10px}.lms-field .label{color:var(--text-2);font-size:var(--fs-sm);white-space:nowrap}.lms-field .control{flex:1;min-width:0}.lms-card{background:var(--panel);border:var(--bd) solid var(--border);border-radius:var(--r-lg);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.55);overflow:hidden}.lms-card .hd{align-items:center;background:var(--panel-2);border-bottom:var(--bd) solid var(--border);display:flex;gap:10px;justify-content:space-between;padding:12px 14px}.lms-card .hd .t{font-size:var(--fs-md);font-weight:900;line-height:var(--lh-md)}.lms-card .bd{padding:14px}.lms-card.is-hover:hover{border-color:rgba(15,23,42,.14);box-shadow:var(--sh-sm);transform:translateY(-1px);transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.lms-tag{align-items:center;background:color-mix(in srgb,var(--panel) 92%,var(--glass) 8%);border:var(--bd) solid var(--border);border-radius:999px;color:var(--text);display:inline-flex;font-size:var(--fs-xs);gap:6px;height:24px;line-height:1;padding:0 10px;user-select:none}.lms-tag.is-info{background:color-mix(in srgb,var(--info) 12%,transparent);border-color:color-mix(in srgb,var(--info) 28%,transparent);color:var(--info)}.lms-tag.is-success{background:color-mix(in srgb,var(--success) 12%,transparent);border-color:color-mix(in srgb,var(--success) 28%,transparent);color:var(--success)}.lms-tag.is-warning{background:color-mix(in srgb,var(--warning) 12%,transparent);border-color:color-mix(in srgb,var(--warning) 28%,transparent);color:var(--warning)}.lms-tag.is-danger{background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 28%,transparent);color:var(--danger)}.lms-badge{align-items:center;background:var(--danger);border-radius:999px;color:#fff;display:inline-flex;font-size:11px;height:16px;justify-content:center;line-height:16px;min-width:16px;padding:0 5px}.lms-badge.is-dot{height:8px;min-width:8px;padding:0}.lms-divider{background:var(--border);height:1px;margin:12px 0}.lms-empty{background:color-mix(in srgb,var(--panel) 92%,var(--glass) 8%);border:var(--bd) dashed color-mix(in srgb,var(--border) 90%,transparent);border-radius:var(--r-lg);color:var(--text-2);padding:22px 14px;text-align:center}.lms-empty .t{color:var(--text);font-weight:800;margin-bottom:6px}.lms-empty .s{color:var(--text-2);font-size:var(--fs-sm)}.lms-popover{background:var(--panel);border:var(--bd) solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-md);color:var(--text);overflow:hidden}.lms-popover .hd{background:var(--panel-2);border-bottom:var(--bd) solid var(--border);font-size:var(--fs-sm);font-weight:900}.lms-popover .bd,.lms-popover .hd{padding:10px 12px}