:root{--sf-primary: #4f6df5;--sf-primary-hover: #3d5be2;--sf-primary-2: #7b5bf2;--sf-gradient: linear-gradient(135deg, #4f6df5 0%, #7b5bf2 100%);--sf-gradient-subtle: linear-gradient(135deg, rgba(79, 109, 245, .08) 0%, rgba(123, 91, 242, .05) 100%);--sf-bg: #f3f5fa;--sf-sider-bg: #11182c;--sf-sider-bg-2: #1e2646;--sf-text: rgba(15, 23, 42, .88);--sf-text-2: rgba(15, 23, 42, .58);--sf-text-3: rgba(15, 23, 42, .38);--sf-border: #e3e7f2;--sf-radius: 10px;--sf-radius-lg: 14px;--sf-shadow: 0 1px 3px rgba(16, 24, 40, .05), 0 1px 8px rgba(16, 24, 40, .04);--sf-shadow-lg: 0 12px 32px rgba(16, 24, 40, .12);--sf-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:var(--sf-font);background:var(--sf-bg);color:var(--sf-text);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:#4f6df538;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#4f6df573}::-webkit-scrollbar-track{background:transparent}.admin-layout{height:100vh;overflow:hidden}.admin-body{display:flex;flex-direction:column;min-width:0}.admin-sider{height:100vh;position:sticky;top:0;flex-shrink:0;background:radial-gradient(120% 60% at 0% 0%,rgba(79,109,245,.25) 0%,transparent 55%),radial-gradient(100% 50% at 100% 100%,rgba(123,91,242,.2) 0%,transparent 50%),linear-gradient(180deg,var(--sf-sider-bg) 0%,var(--sf-sider-bg-2) 100%)!important;box-shadow:2px 0 16px #0a10201f;overflow:auto}.admin-logo{height:64px;display:flex;align-items:center;gap:10px;padding:0 20px;color:#fff;font-weight:700;font-size:15px;letter-spacing:.5px;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.08)}.admin-logo .logo-mark{width:32px;height:32px;flex-shrink:0;border-radius:9px;background:var(--sf-gradient);box-shadow:0 4px 12px #4f6df573;display:flex;align-items:center;justify-content:center;font-size:17px;color:#fff}.admin-sider .ant-menu-dark{background:transparent!important;padding:8px}.admin-sider .ant-menu-item{margin:4px 0;border-radius:8px;height:40px;line-height:40px;font-size:13.5px;transition:all .2s ease}.admin-sider .ant-menu-item:hover{background:#ffffff14!important}.admin-sider .ant-menu-item-selected{background:var(--sf-gradient)!important;box-shadow:0 4px 14px #4f6df566}.admin-sider .ant-menu-item-selected .anticon{color:#fff}.admin-header{background:#fffffff0!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:56px;line-height:56px;padding:0 24px!important;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 4px #1018280f;z-index:1}.admin-header .page-title{font-size:16px;font-weight:700;color:var(--sf-text)}.admin-header .user-area{display:flex;align-items:center;gap:12px}.admin-header .user-area .ant-avatar{box-shadow:0 2px 8px #4f6df559}.admin-content{flex:1;min-height:0;padding:22px;overflow:auto}.ant-float-btn-backtop{position:fixed;right:32px;bottom:40px}.ant-float-btn-backtop .ant-float-btn-body{background:#fffffff2;box-shadow:0 6px 20px #1018282e}.ant-float-btn-backtop:hover .ant-float-btn-body{background:var(--sf-gradient)}.ant-float-btn-backtop:hover .ant-float-btn-body .ant-float-btn-icon{color:#fff}.page-card{background:#fff;border-radius:var(--sf-radius-lg);box-shadow:var(--sf-shadow);border:1px solid var(--sf-border)}.page-container{background:#fff;border-radius:var(--sf-radius-lg);box-shadow:var(--sf-shadow);border:1px solid var(--sf-border);padding:24px;min-height:calc(100vh - 100px)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-header .page-title{font-size:18px;font-weight:700;color:var(--sf-text);margin-bottom:4px}.page-header .page-subtitle{font-size:13px;color:var(--sf-text-2);line-height:1.6}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.ant-table-wrapper .ant-table{border-radius:var(--sf-radius)}.ant-table-wrapper .ant-table-thead>tr>th{background:#f7f8fd!important;color:var(--sf-text-2);font-weight:600;font-size:12.5px;border-bottom:1px solid var(--sf-border)!important}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#f4f6ff!important}.ant-table-wrapper .ant-table-tbody>tr:nth-child(2n)>td{background:#fafbff}.ant-table-wrapper .ant-table-tbody>tr:nth-child(2n):hover>td{background:#f4f6ff!important}.ant-table-wrapper .ant-table-cell{font-size:13px}.tuning-group{margin-bottom:20px}.tuning-group:last-child{margin-bottom:0}.tuning-group-header{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:10px;border-radius:var(--sf-radius);background:linear-gradient(90deg,#4f6df514,#7b5bf20d);border:1px solid rgba(79,109,245,.12)}.tuning-group-title{font-size:14px;font-weight:700;color:var(--sf-text)}.tuning-group-desc{font-size:12px;color:var(--sf-text-2)}.tuning-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.tuning-field-label{display:inline-flex;align-items:center;gap:6px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px}.tuning-field-kind{font-size:11px;color:var(--sf-text-3);font-family:var(--sf-font);border:1px solid var(--sf-border);border-radius:4px;padding:0 5px;line-height:16px}.login-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(90% 70% at 15% 0%,rgba(79,109,245,.35) 0%,transparent 55%),radial-gradient(70% 60% at 90% 15%,rgba(123,91,242,.3) 0%,transparent 50%),radial-gradient(80% 70% at 50% 110%,rgba(31,42,77,.9) 0%,transparent 60%),linear-gradient(135deg,#101b3a,#1f2a4d 45%,#2b3a67)}.login-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(1.5px 1.5px at 12% 22%,rgba(255,255,255,.85) 50%,transparent 51%),radial-gradient(1px 1px at 28% 68%,rgba(255,255,255,.6) 50%,transparent 51%),radial-gradient(2px 2px at 42% 12%,rgba(255,255,255,.75) 50%,transparent 51%),radial-gradient(1px 1px at 58% 45%,rgba(255,255,255,.5) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 72% 78%,rgba(255,255,255,.7) 50%,transparent 51%),radial-gradient(1px 1px at 85% 30%,rgba(255,255,255,.55) 50%,transparent 51%),radial-gradient(1px 1px at 92% 62%,rgba(255,255,255,.65) 50%,transparent 51%),radial-gradient(1px 1px at 8% 85%,rgba(255,255,255,.4) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 65% 92%,rgba(255,255,255,.5) 50%,transparent 51%);opacity:.8;animation:star-twinkle 4s ease-in-out infinite alternate}@keyframes star-twinkle{0%{opacity:.55}to{opacity:.95}}.login-card{position:relative;width:400px;border-radius:18px!important;background:#fffffff5!important;box-shadow:0 20px 60px #060c2073!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-card .ant-card-head{border-bottom:none;text-align:center;padding-top:28px}.login-card .ant-card-head-title{font-size:20px;font-weight:700;color:#1f2a4d}.login-card .login-subtitle{color:var(--sf-text-2);font-size:13px;margin-bottom:4px}.stat-card{transition:transform .2s ease,box-shadow .2s ease;border:1px solid var(--sf-border)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--sf-shadow-lg)}.stat-icon{width:48px;height:48px;border-radius:12px;font-size:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-title{color:var(--sf-text-2);font-size:13px;margin-bottom:4px}.stat-value{font-size:24px;font-weight:700;color:var(--sf-text)}.reward-rows{display:flex;flex-direction:column;gap:8px;width:100%}.reward-row{display:flex;width:100%;padding:8px;border:1px solid var(--sf-border);border-radius:8px;background:#fafbff}.reward-row .ant-form-item{margin-bottom:0}.reward-remove{color:var(--sf-text-3);cursor:pointer;font-size:15px;transition:color .2s;align-self:center}.reward-remove:hover{color:#ff4d4f}.currency-cell{padding:10px 14px;border-radius:10px;background:linear-gradient(135deg,#f7f8fd,#fdfdff);border:1px solid var(--sf-border)}.currency-name{font-size:13px;color:var(--sf-text-2);margin-bottom:4px}.currency-amount{font-size:20px;font-weight:700;color:var(--sf-text)}.currency-count{font-size:12px;color:var(--sf-text-3);margin-top:2px}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.ant-modal .ant-modal-content{border-radius:var(--sf-radius-lg)}.ant-modal .ant-modal-title{font-weight:700}.ant-tag{border-radius:4px}.ant-btn{border-radius:8px}
