:root{color-scheme:light;--brand: #2f7cf6;--brand-ink: #2f5bbf;--ink: #101828;--ink-2: #344054;--muted: #667085;--line: #eaecf0;--line-soft: #f2f4f7;--bg: #f6f7fb;--panel: #ffffff;--panel-2: #fafbfd;--topbar-bg: rgba(255, 255, 255, .82);--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 32px rgba(16, 24, 40, .06);--shadow-pop: 0 18px 50px rgba(16, 24, 40, .08);--tile-bg: linear-gradient(160deg, #f7f9ff 0%, #eef4ff 100%);--tile-line: #e6ecf8;--tile-glow: rgba(47, 124, 246, .16);--fortune-bg: #f5f8ff;--fortune-ink: #2f5bbf;--glow-a: #e9f0ff;--glow-b: #e8f7f1;--ring: rgba(47, 124, 246, .18);--hover-bg: rgba(16, 24, 40, .04)}[data-theme=dark]{color-scheme:dark;--brand: #5b9bff;--brand-ink: #a9c8ff;--ink: #e8ecf5;--ink-2: #c5cddd;--muted: #9aa5ba;--line: #232a3a;--line-soft: #1c2331;--bg: #0b0f19;--panel: #141a28;--panel-2: #171e2d;--topbar-bg: rgba(13, 18, 30, .78);--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 12px 30px rgba(0, 0, 0, .28);--shadow-pop: 0 20px 48px rgba(0, 0, 0, .5);--tile-bg: linear-gradient(160deg, #182034 0%, #131a29 100%);--tile-line: #263048;--tile-glow: rgba(91, 155, 255, .22);--fortune-bg: #16203a;--fortune-ink: #a9c8ff;--glow-a: #16203a;--glow-b: #0f241f;--ring: rgba(91, 155, 255, .28);--hover-bg: rgba(255, 255, 255, .06)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;transition:background-color .24s ease,color .24s ease}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:content-box}.auth-wrap{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(1200px 600px at 20% -10%,var(--glow-a) 0%,transparent 60%),radial-gradient(900px 500px at 110% 10%,var(--glow-b) 0%,transparent 55%),var(--bg)}.auth-card{position:relative;width:100%;max-width:420px;border-radius:18px;box-shadow:var(--shadow-pop)}.auth-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-controls{display:flex;align-items:center;gap:6px;flex:none}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-dot{display:inline-block;width:30px;height:30px;border-radius:10px;background:conic-gradient(from 140deg,#2f7cf6,#59d3b2,#ffb25e,#2f7cf6);box-shadow:0 4px 12px #2f7cf659;flex:none}.code-input input,.code-input{text-align:center;letter-spacing:.5em;font-size:24px;font-variant-numeric:tabular-nums}.page{min-height:100vh;min-height:100dvh}.topbar{position:sticky;top:0;z-index:10;height:56px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--topbar-bg);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);transition:background-color .24s ease,border-color .24s ease}.topbar-brand,.topbar-actions{flex-wrap:nowrap}.topbar-title.ant-typography{margin:0;white-space:nowrap}.content{max-width:1080px;margin:0 auto;padding:20px 16px 48px}.panel{border-radius:16px;box-shadow:var(--shadow-card)}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.toolbar-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.panel.ant-card>.ant-card-head{min-height:56px;padding:0 20px}.panel.ant-card>.ant-card-head .ant-card-head-title{font-size:15px;font-weight:600}.panel.ant-card>.ant-card-body{padding:20px}.panel .ant-table-wrapper{max-width:100%}.panel .ant-table-wrapper .ant-table-thead>tr>th{background:var(--panel-2);color:var(--muted);font-size:12.5px;font-weight:600;padding-top:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.panel .ant-table-wrapper .ant-table-tbody>tr>td{border-bottom:1px solid var(--line-soft)}.panel .ant-table-wrapper .ant-table-tbody>tr:last-child>td{border-bottom:none}.panel .ant-table-wrapper .ant-table-tbody>tr.ant-table-expanded-row>td{background:var(--panel-2)}.panel .ant-table-wrapper .ant-table-pagination.ant-pagination{margin:16px 0 0}.panel .ant-pagination .ant-pagination-item,.panel .ant-pagination .ant-pagination-item-link{border-color:transparent;background:transparent}.panel .ant-pagination .ant-pagination-item-active{font-weight:600}.table-num{font-variant-numeric:tabular-nums}.row-actions{display:inline-flex;align-items:center;gap:2px;flex-wrap:nowrap}.row-actions .ant-btn{padding-inline:6px;height:28px;font-size:13px}.row-actions .ant-btn-dangerous.ant-btn-text:hover{background:#f0443814!important}.icon-btn.ant-btn{width:32px;height:32px;min-width:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);border-radius:10px}.icon-btn.ant-btn:hover{color:var(--ink);background:var(--hover-bg)!important}.lang-switch.ant-segmented{padding:2px;border-radius:10px;font-size:12.5px}.lang-switch .ant-segmented-item-label{min-height:26px;line-height:26px;padding:0 10px}.lang-short{display:none}.account-btn.ant-btn{height:32px;padding:0 8px 0 4px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;color:var(--ink)}.account-btn.ant-btn:hover{background:var(--hover-bg)!important}.account-avatar.ant-avatar{background:linear-gradient(140deg,var(--brand),#59d3b2);font-size:12px;font-weight:600;flex:none}.account-name.ant-typography{max-width:128px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.account-caret{color:var(--muted);flex:none}.account-meta{min-width:168px;padding:2px 4px 6px}.account-meta-name{font-weight:600;color:var(--ink)}.account-meta-sub{margin-top:2px;font-size:12px;color:var(--muted)}.ant-dropdown-menu-item-disabled .account-meta{opacity:1;cursor:default}.ant-dropdown-menu-item-disabled .account-meta-name{color:var(--ink)}.bind-row{display:flex;gap:8px;margin-top:16px}.bind-row .ant-input{letter-spacing:.28em;font-variant-numeric:tabular-nums}.empty-box{padding:18px 0 6px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.empty-box .empty-icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--brand);background:var(--tile-bg);border:1px solid var(--tile-line);margin-bottom:2px}.empty-box .empty-title{font-size:14px;font-weight:600;color:var(--ink)}.empty-box .empty-tip{font-size:12px;color:var(--muted);max-width:320px;line-height:1.7}.status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line)}.status-row:last-child{border-bottom:none;padding-bottom:0}.status-row:first-child{padding-top:0}.status-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.status-value{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}.status-dot.is-ok{background:#12b76a;box-shadow:0 0 0 3px #12b76a29}.status-dot.is-warn{background:#f79009;box-shadow:0 0 0 3px #f7900929}.status-dot.is-bad{background:#f04438;box-shadow:0 0 0 3px #f0443829}.astro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.sign-tile{position:relative;padding:14px 14px 12px;border-radius:14px;border:1px solid var(--tile-line);background:var(--tile-bg);overflow:hidden;transition:border-color .2s ease,transform .2s ease}.sign-tile:after{content:"";position:absolute;right:-28px;top:-28px;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--tile-glow),transparent 70%)}.sign-tile.is-empty{border-style:dashed;background:var(--panel-2)}.sign-label{font-size:12px;color:var(--muted);letter-spacing:.08em}.sign-symbol{margin-top:6px;font-size:30px;line-height:1;color:var(--brand);font-family:Apple Symbols,Segoe UI Symbol,"Noto Sans Symbols 2",serif}.sign-name{margin-top:8px;font-size:18px;font-weight:600;letter-spacing:.04em;color:var(--ink)}.sign-meta{margin-top:6px;display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.zodiac-glyph{font-size:18px;line-height:1;color:var(--brand);font-family:Apple Symbols,Segoe UI Symbol,"Noto Sans Symbols 2",serif}.fortune-note{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.fortune-label{margin-bottom:6px;font-size:12px;color:var(--muted)}.fortune-head{margin-bottom:6px;font-size:13px;font-weight:600;color:var(--fortune-ink)}.card-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-right:8px;border-radius:8px;color:var(--brand);background:var(--tile-bg);border:1px solid var(--tile-line);vertical-align:-6px}.card-title-row{display:inline-flex;align-items:center;gap:8px}.tab-label{display:inline-flex;align-items:center;gap:6px}.media-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:6px;background:var(--panel-2);color:var(--muted)}.media-dragger .ant-upload{padding:9px 12px!important;border-radius:12px;background:var(--panel-2)}.media-drop-row{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;font-size:13px;color:var(--ink);line-height:1.2}.media-drop-row svg{color:var(--muted)}.media-sync-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px;padding:7px 10px;border-radius:9px;background:var(--panel-2);border:1px solid var(--line-soft)}.media-empty-line{padding:6px 0 0;font-size:12px;color:var(--muted)}.stat-card.ant-card .ant-card-body{padding:14px 16px}.stat-card .ant-statistic-title{font-size:12px;color:var(--muted);margin-bottom:2px}.stat-card .ant-statistic-content{font-size:22px;font-weight:600;line-height:1.25}.fw-dragger.ant-upload-wrapper .ant-upload-drag{background:var(--panel-2);border-radius:12px}.fw-dragger .ant-upload-btn{padding:18px 16px!important}.fw-drop{display:flex;align-items:center;justify-content:center;gap:10px;text-align:left}.fw-drop svg{color:var(--brand);flex:none}.fw-drop-title{display:block;font-size:13px;color:var(--ink)}.fw-drop-hint{display:block;margin-top:2px;font-size:12px;color:var(--muted)}.fw-drop-file{color:var(--ink);font-variant-numeric:tabular-nums}.fw-fields{margin-top:16px}.fw-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.fw-actions .ant-btn{min-width:96px}.fw-version{font-weight:600;font-variant-numeric:tabular-nums}.fw-chip{white-space:nowrap}.fw-notes{display:block;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;letter-spacing:.2px}.muted{color:var(--muted);font-size:12px}.ant-upload-drag{border-radius:14px}.ant-upload-drag .ant-upload-drag-icon{margin-bottom:4px;color:var(--brand)}.ant-upload-drag .ant-upload-text{font-size:13px}@media(max-width:575px){.hide-sm{display:none}.content{padding:14px 12px 40px}.panel.ant-card>.ant-card-head{padding:0 14px;min-height:50px}.panel.ant-card>.ant-card-body{padding:14px}.fortune-note{margin-top:14px;padding-top:12px}.fw-actions .ant-btn{width:100%;min-width:0}.toolbar{gap:6px;margin-bottom:10px}.toolbar .ant-input-search{width:auto!important;flex:1 1 160px}.toolbar-right{margin-left:0;width:100%}.row-actions .ant-btn{padding-inline:4px}.panel .ant-table-content{overflow-x:hidden!important}.panel .ant-table-content>table{width:100%!important;min-width:0!important;table-layout:auto!important}.panel .ant-table-thead>tr>th,.panel .ant-table-tbody>tr>td{padding-left:8px!important;padding-right:8px!important}.panel .ant-table-cell{white-space:normal!important;word-break:break-word}.topbar{padding:0 12px;gap:6px}.topbar .brand-dot{width:24px;height:24px;border-radius:8px}.lang-full{display:none}.lang-short{display:inline}.lang-switch .ant-segmented-item-label{padding:0 8px}.account-btn.ant-btn{padding:0 4px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
