body[theme-mode=dark]{--up: #30d158;--down: #ff453a;--warn: #ff9f0a;--danger: #ff453a}body:not([theme-mode=dark]){--up: #0f7b3d;--down: #c1121f;--warn: #b25000;--danger: #c1121f}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--semi-color-bg-0);color:var(--semi-color-text-0)}.semi-layout{min-height:100vh}.semi-layout-content{background:var(--semi-color-bg-0)}.app-header{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:rgba(var(--semi-grey-0-rgb),.85)!important;border-bottom:1px solid var(--semi-color-border)}body[theme-mode=dark] .app-header{background:rgba(var(--semi-grey-1-rgb),.85)!important}.semi-navigation-horizontal{border-bottom:none!important;height:60px;line-height:60px}.semi-navigation-horizontal .semi-navigation-list{background:transparent!important;height:60px;line-height:60px;display:flex;align-items:center}.semi-navigation-horizontal .semi-navigation-item{border-radius:8px!important;margin:0 4px;display:inline-flex!important;align-items:center;height:40px;padding:0 14px;line-height:1;font-size:14px;float:none;vertical-align:baseline}.semi-navigation-horizontal .semi-navigation-item-icon{display:inline-flex;align-items:center;justify-content:center;margin-right:6px;line-height:1;font-size:18px;height:18px}.semi-navigation-horizontal .semi-navigation-item-text{line-height:1}.semi-navigation-horizontal .semi-navigation-item-selected{font-weight:600;background:var(--semi-color-fill-1)}.semi-navigation-horizontal .semi-navigation-item:hover:not(.semi-navigation-item-selected){background:var(--semi-color-fill-0)}.user-menu-trigger{transition:background-color .15s ease}.user-menu-trigger:hover{background:var(--semi-color-fill-0)}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,rgba(30,136,229,.08),transparent 50%),radial-gradient(ellipse at bottom right,rgba(0,172,193,.06),transparent 50%),var(--semi-color-fill-0);padding:24px 16px}body[theme-mode=dark] .login-page{background:radial-gradient(ellipse at top,rgba(30,136,229,.15),transparent 50%),radial-gradient(ellipse at bottom right,rgba(0,172,193,.1),transparent 50%),var(--semi-color-bg-0)}.login-page__brand{text-align:center;margin-bottom:32px}.login-page__logo{width:64px;height:64px;margin:0 auto;border-radius:16px;box-shadow:0 8px 24px #1e88e540;overflow:hidden}.login-page__card{width:100%;max-width:400px;border-radius:12px!important}.login-page__card .semi-card-body{padding:32px!important}.price-table-container{border-radius:12px;overflow-x:auto;border:1px solid var(--semi-color-border);background:var(--semi-color-bg-1)}.price-table-container tbody tr{transition:background-color .15s ease}.price-table-container tbody tr:hover{background:var(--semi-color-fill-0)}.price-table-container tbody tr:not(:last-child){border-bottom:1px solid var(--semi-color-border)}.price-table-container tr[data-stale=true]{opacity:.5}.price-table-container tr[data-delisted=true]{opacity:.7}.text-up{color:var(--up)}.text-down{color:var(--down)}@media (max-width: 768px){.price-table-container{font-size:13px}.price-table-container th,.price-table-container td{padding:8px 10px!important}.login-page__card .semi-card-body{padding:24px!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--semi-color-fill-2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--semi-color-fill-3)}.semi-empty{padding:48px 16px}.semi-banner{border-radius:8px}.semi-card{border-radius:12px;border:1px solid var(--semi-color-border);box-shadow:none;transition:box-shadow .2s ease,transform .2s ease}.semi-card:hover{box-shadow:0 4px 12px #0000000f}body[theme-mode=dark] .semi-card:hover{box-shadow:0 4px 12px #0003}.semi-tag{transition:all .2s ease}.semi-button{transition:all .15s ease}.price-row:focus-visible{outline:2px solid var(--semi-color-primary);outline-offset:-2px;border-radius:2px}.crypto-coin-logo,.crypto-exchange-logo{flex-shrink:0;vertical-align:middle}.price-row__symbol-link{display:inline-flex;align-items:center;color:inherit;text-decoration:none;border-radius:4px;outline-offset:2px}.price-row__symbol-link:hover{color:var(--semi-color-primary);text-decoration:underline;text-underline-offset:3px}.price-row__drag-handle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:2px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--semi-color-text-3);cursor:grab;flex-shrink:0}.price-row__drag-handle:hover{background:var(--semi-color-fill-0);color:var(--semi-color-primary)}.price-row__drag-handle:active{cursor:grabbing}.price-row__drag-handle:focus-visible{outline:2px solid var(--semi-color-primary);outline-offset:1px}.price-row[data-dragging=true]{opacity:.45}.price-row[data-drag-over=true]>*{box-shadow:inset 0 2px 0 0 var(--semi-color-primary)}.price-row__drag-ghost{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:6px;border:1px solid var(--semi-color-border);background:var(--semi-color-bg-2);box-shadow:var(--semi-shadow-elevated, 0 4px 12px rgba(0, 0, 0, .15))}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.semi-select-option-list{border-radius:8px}.semi-modal-content{border-radius:12px}.semi-modal-mask{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.semi-input-wrapper:focus-within{border-color:var(--semi-color-primary)!important;box-shadow:0 0 0 3px var(--semi-color-primary-light-default)!important}.sparkline-container{display:inline-flex;align-items:center;min-width:100px}.page-title{margin:0 0 24px;font-weight:600;letter-spacing:.3px}.stat-card{border-radius:12px;border:1px solid var(--semi-color-border);background:var(--semi-color-bg-1);padding:16px 20px;transition:all .2s ease}.stat-card:hover{border-color:var(--semi-color-primary-light-default);box-shadow:0 4px 12px #0000000f}.stat-card__label{font-size:13px;color:var(--semi-color-text-2);margin-bottom:8px;line-height:1.4}.stat-card__value{font-size:24px;font-weight:600;line-height:1.2;color:var(--semi-color-text-0)}.stat-card__sub{font-size:12px;color:var(--semi-color-text-3);margin-top:4px}.page-header{display:flex;align-items:center;flex-wrap:wrap;row-gap:12px;margin-bottom:20px}.page-header__title{margin:0;font-size:20px;font-weight:600;line-height:1.4}.page-header__actions{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.app-header__logo{margin-right:40px}.form-section{margin-bottom:24px}.form-section__title{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--semi-color-text-0)}.rule-card{border-radius:12px;border:1px solid var(--semi-color-border);background:var(--semi-color-bg-1);padding:16px 20px;transition:all .2s ease}.rule-card:hover{border-color:var(--semi-color-primary-light-default);box-shadow:0 2px 8px #0000000a}.settings-card .semi-card-header{padding:16px 20px!important}.settings-card .semi-card-body{padding:20px!important}.settings-card .semi-card-header-extra{display:flex;align-items:center}.datasource-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--semi-color-border)}.datasource-row:last-child{border-bottom:none;padding-bottom:0}.datasource-row:first-child{padding-top:0}.semi-descriptions .semi-descriptions-item-value{color:var(--semi-color-text-0)}.semi-table{border-radius:12px;overflow:hidden}.semi-table-pagination{padding:16px 0}@media (max-width: 900px){.app-header__logo{margin-right:16px}.semi-navigation-horizontal .semi-navigation-list{overflow-x:auto;scrollbar-width:none}.semi-navigation-horizontal .semi-navigation-list::-webkit-scrollbar{display:none}.semi-navigation-horizontal .semi-navigation-item{padding:0 10px}}@media (max-width: 720px){.conn-pill-label,.user-menu-name{display:none}}@media (max-width: 600px){.page-header__search{flex-basis:100%;width:100%!important}.channel-status-tag{display:none}}@media (max-width: 480px){.stat-card__value{font-size:18px}.stat-card{padding:12px 14px}}
