*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI','Microsoft YaHei',sans-serif;background:#f0f2f5;color:#333;display:flex;flex-direction:column;height:100vh;overflow:hidden}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}
.hidden{display:none!important}

/* ============ 顶部深色栏 ============ */
.sidebar{width:100%;height:64px;background:#1a2734;color:#a4b4c4;display:flex;align-items:center;flex-shrink:0;padding:0 20px;gap:20px}
.sidebar-logo{display:flex;align-items:center;gap:10px}
.logo-icon{width:34px;height:34px;background:#2ecc71;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px}
.logo-text h1{font-size:14px;color:#fff;font-weight:800}
.logo-text p{font-size:10px;color:#7d8c9c}
.nav-menu{flex:1;display:flex;align-items:center;gap:4px}
.nav-item{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;font-size:13px;cursor:pointer;color:#a4b4c4;white-space:nowrap}
.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-item.active{background:#243746;color:#2ecc71;font-weight:bold}
.nav-icon{font-size:15px}
.nav-dropdown{position:relative}
.dropdown-menu-custom{display:none;position:absolute;top:100%;left:0;margin-top:8px;background:#fff;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);border:1px solid #e0e4e8;min-width:230px;padding:8px;z-index:99999}
.dropdown-menu-custom.show{display:block}
.dropdown-item-custom{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;cursor:pointer}
.dropdown-item-custom:hover{background:#f0fdf4}
.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}
.content-scroll{flex:1;overflow-y:auto;padding:28px 30px}

/* ============ 登录页 ============ */
#loginOverlay{position:fixed;inset:0;background:#0f1214;display:flex;align-items:center;justify-content:center;z-index:99999}
.login-box{background:#1a2734;border-radius:12px;padding:40px;width:380px;color:#e0e0e0;border:1px solid #2a323c}
.login-box h2{color:#2ecc71;font-size:24px;margin-bottom:8px;text-align:center}
.login-box .subtitle{color:#7d8c9c;font-size:13px;text-align:center;margin-bottom:24px}
.login-box input{width:100%;background:#0f1214;border:1px solid #2a323c;color:#fff;padding:12px 16px;border-radius:8px;font-size:14px;outline:none;margin-bottom:12px;font-family:inherit}
.login-box .btn-login{width:100%;background:#2ecc71;color:#fff;border:none;padding:12px;border-radius:8px;font-size:15px;font-weight:bold;cursor:pointer;margin-top:8px}
.login-box .error-msg{color:#e74c3c;font-size:13px;text-align:center;min-height:18px;margin-top:8px}

/* ============ 深色栏右侧用户区 ============ */
.user-area{margin-left:auto;display:flex;align-items:center}
.top-user-bar{display:flex;align-items:center}
.top-user-bar .currency-item{display:flex;align-items:center;gap:6px;padding:4px 14px;border-right:1px solid rgba(255,255,255,.08);font-size:13px;font-weight:800;color:#a4b4c4}
.top-user-bar .currency-item:first-child{border-left:1px solid rgba(255,255,255,.08)}
.top-user-bar .currency-item .icon{font-size:15px}
.top-user-bar .currency-item .val{color:#e2e8f0}
.top-user-bar .currency-item.gold .val{color:#f59e0b}
.top-user-bar .currency-item.green .val{color:#2ecc71}
.top-user-bar .icon-btn{position:relative;padding:6px 12px;font-size:18px;cursor:pointer;border-right:1px solid rgba(255,255,255,.08);color:#a4b4c4}
.top-user-bar .icon-btn:hover{background:rgba(255,255,255,.08)}
.top-user-bar .icon-btn .badge{position:absolute;top:2px;right:4px;background:#e74c3c;color:#fff;font-size:10px;font-weight:bold;padding:1px 5px;border-radius:8px;min-width:16px;text-align:center}
.top-user-bar .profile-block{display:flex;align-items:center;gap:8px;padding:4px 12px;cursor:pointer;border-radius:6px}
.top-user-bar .profile-block:hover{background:rgba(255,255,255,.08)}
.top-user-bar .profile-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706)}
.top-user-bar .profile-info{display:flex;flex-direction:column;gap:3px;min-width:100px}
.top-user-bar .profile-name{font-size:13px;font-weight:bold;color:#fff}
.top-user-bar .profile-progress{width:100%;height:4px;background:rgba(255,255,255,.15);border-radius:2px;overflow:hidden}
.top-user-bar .profile-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#d97706);border-radius:2px}
.top-user-bar .profile-percent{font-size:10px;color:#7d8c9c;margin-left:6px}

/* ============ 通用 ============ */
.card{background:#fff;border-radius:12px;border:1px solid #e0e4e8;padding:24px;margin-bottom:20px}
.card h3{font-size:15px;color:#1a2734;margin-bottom:20px;display:flex;align-items:center;gap:8px}
.card h3::before{content:'|';color:#2ecc71;font-weight:bold;font-size:18px}
.btn{padding:10px 20px;border-radius:6px;font-size:13px;font-weight:bold;cursor:pointer;border:none;font-family:inherit}
.btn-primary{background:#2ecc71;color:#fff}
.btn-blue{background:#3498db;color:#fff}
.btn-secondary{background:#f8f9fa;color:#5a6c7d;border:1px solid #e0e4e8}

/* ============ 新人必看 ============ */
.doc-layout{display:flex;gap:30px}
.doc-sidebar{width:170px;flex-shrink:0}
.cat-title{font-size:12px;color:#1a2734;font-weight:bold;margin-bottom:8px;padding-left:10px}
.doc-item{padding:8px 10px;font-size:13px;color:#5a6c7d;cursor:pointer;border-radius:4px;border-left:2px solid transparent;margin-bottom:2px}
.doc-item:hover,.doc-item.active{color:#2ecc71;font-weight:bold;border-left-color:#2ecc71;background:#f0fdf4}
.doc-body{flex:1}
.doc-tag{display:inline-block;background:#e0f7fa;color:#00acc1;padding:2px 8px;border-radius:4px;font-size:12px;margin-bottom:10px;font-weight:bold}
.doc-text{font-size:14px;line-height:2;color:#4a5c6e}
hr.divider{border:none;border-top:1px solid #f0f2f5;margin:18px 0}

/* ============ 库存 ============ */
.inv-header{display:flex;justify-content:space-between;margin-bottom:20px}
.inv-header-left{display:flex;gap:14px;align-items:center}
.inv-title-icon{width:52px;height:52px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:26px}
.inv-title{font-size:24px;font-weight:800;color:#1a2734}
.inv-sub{font-size:13px;color:#7d8c9c;margin-top:4px}
.inv-tabs{display:flex;gap:6px;margin-bottom:20px;padding:4px;background:#f8f9fa;border-radius:10px;width:fit-content}
.inv-tab{padding:8px 18px;border-radius:8px;font-size:13px;font-weight:bold;color:#7d8c9c;cursor:pointer}
.inv-tab.active{background:#fff;color:#1a2734;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.inv-tab span{background:#f59e0b;color:#fff;padding:1px 7px;border-radius:10px;font-size:11px;margin-left:4px}
.inv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.inv-card{background:#12121a;border-radius:12px;overflow:hidden;color:#c9d1d9;cursor:pointer;border:1px solid #2a2a35;transition:.2s}
.inv-card:hover{transform:translateY(-3px);border-color:#f59e0b}
.inv-card-image{height:130px;display:flex;align-items:center;justify-content:center;font-size:70px;background:radial-gradient(circle,rgba(245,158,11,.08),transparent 70%)}
.inv-card-body{padding:12px 14px 14px}
.inv-card-name{font-size:16px;font-weight:800;color:#fff}
.inv-card-footer{display:flex;justify-content:space-between;padding-top:10px;border-top:1px solid #2a2a35;font-size:11px;color:#5d4d7a;margin-top:8px}

/* ============ 商店 ============ */
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.shop-card{background:#fff;border-radius:12px;border:1px solid #e0e4e8;padding:20px;display:flex;flex-direction:column;gap:10px;transition:.2s}
.shop-card:hover{border-color:#2ecc71;transform:translateY(-2px)}
.shop-card .shop-dino-icon{font-size:52px;text-align:center}
.shop-card .shop-dino-name{font-size:18px;font-weight:800;color:#1a2734}
.shop-card .shop-dino-tags{display:flex;gap:6px;flex-wrap:wrap}
.shop-tag{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:bold}
.dino-tag-male{background:#e3f2fd;color:#3498db}
.dino-tag-female{background:#ffebee;color:#e74c3c}
.dino-tag-peak{background:#fff3e0;color:#f39c12}
.shop-card .shop-dino-meta{font-size:12px;color:#7d8c9c}
.shop-card .shop-price{font-size:16px;font-weight:800;color:#f59e0b;margin-top:auto}
.shop-card .shop-buy-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:10px;border-radius:8px;font-size:14px;font-weight:bold;cursor:pointer;width:100%}
.shop-card .shop-buy-btn:disabled{background:#bdc3c7;cursor:not-allowed}

/* ============ 福利 ============ */
.benefits-card{background:#fff;border-radius:12px;border:1px solid #e0e4e8;padding:24px}
.benefits-table{width:100%;border-collapse:collapse;font-size:13px}
.benefits-table thead th{background:#f8f9fa;padding:14px 16px;text-align:left;color:#5a6c7d;font-size:12px}
.benefits-table tbody td{padding:16px;border-bottom:1px solid #f0f2f5;color:#5a6c7d}
.progress-bar-wrap{width:180px;height:10px;background:#e0e4e8;border-radius:5px;overflow:hidden;display:inline-block;margin-right:10px}
.progress-bar-fill{height:100%;background:#2c3e50;border-radius:5px}

/* ============ 编辑器弹窗 ============ */
.shop-editor-mask,.benefit-editor-mask,.edit-modal-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:99998;align-items:center;justify-content:center}
.shop-editor-mask.show,.benefit-editor-mask.show,.edit-modal-mask.show{display:flex}
.shop-editor,.benefit-editor,.edit-modal{background:#fff;border-radius:12px;padding:24px;max-height:88vh;overflow-y:auto;width:480px}
.edit-modal{width:720px}
.shop-editor h3,.benefit-editor h3,.edit-modal h3{font-size:17px;color:#1a2734;margin-bottom:16px}
.shop-editor label,.benefit-editor label{display:block;font-size:12px;color:#5a6c7d;margin-bottom:4px;margin-top:12px;font-weight:bold}
.shop-editor input,.shop-editor select,.benefit-editor input,.benefit-editor textarea,.edit-modal textarea{width:100%;border:1px solid #e0e4e8;border-radius:6px;padding:8px 12px;font-size:13px;font-family:inherit;outline:none}
.edit-modal textarea{min-height:300px;font-family:Consolas,monospace;resize:vertical}
.shop-editor-btns,.benefit-editor-btns,.edit-modal-btns{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}
.shop-editor-btns button,.benefit-editor-btns button,.edit-modal-btns button{padding:8px 20px;border-radius:6px;font-weight:bold;cursor:pointer;border:none;font-size:13px}
.btn-cancel,.edit-modal-cancel{background:#f0f2f5;color:#5a6c7d}
.btn-save,.edit-modal-save{background:#2ecc71;color:#fff}
.btn-delete{background:#e74c3c;color:#fff;margin-right:auto}

/* ============ 签到/消息 ============ */
.signin-modal,.msg-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:99998;align-items:center;justify-content:center}
.signin-modal.show{display:flex}
.signin-content{background:#fff;border-radius:16px;padding:32px;width:380px;text-align:center}
.signin-reward-big{font-size:48px;margin:16px 0}
.signin-amount{font-size:32px;font-weight:900;color:#f59e0b;margin-bottom:16px}
.signin-content .btn-signin-big{width:100%;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:14px;border-radius:10px;font-size:16px;font-weight:bold;cursor:pointer}
.signin-content .btn-signin-big:disabled{background:#bdc3c7;cursor:not-allowed}
.msg-modal.show{display:flex;justify-content:flex-end}
.msg-content{background:#fff;width:380px;height:100vh;display:flex;flex-direction:column}
.msg-header{padding:20px;border-bottom:1px solid #e0e4e8;display:flex;justify-content:space-between;align-items:center}
.msg-list{flex:1;overflow-y:auto;padding:10px}
.msg-item{padding:12px 14px;border-radius:8px;background:#f8f9fa;margin-bottom:8px;font-size:13px}
.msg-close{padding:16px;border-top:1px solid #e0e4e8;text-align:center}

/* ============ Crash 游戏 ============ */
.crash-page{background:#0d0817;border-radius:12px;overflow:hidden;min-height:calc(100vh - 130px);color:#e8e2f5}
.crash-top{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid rgba(255,255,255,.05)}
.crash-title{display:flex;align-items:center;gap:12px}
.crash-title .icon{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;font-size:22px}
.crash-title h1{font-size:22px;font-weight:900;background:linear-gradient(90deg,#f59e0b,#fbbf24);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.crash-stats{display:flex;gap:20px;font-size:12px;color:#8b7ba5}
.crash-stats .stat{display:flex;flex-direction:column;align-items:flex-end}
.crash-stats .stat span:first-child{color:#5d4d7a;font-size:10px}
.crash-stats .stat span:last-child{color:#f59e0b;font-weight:bold;font-size:13px}
.crash-history-strip{display:flex;gap:6px;padding:12px 28px;overflow-x:auto;border-bottom:1px solid rgba(255,255,255,.05)}
.history-pill{flex-shrink:0;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:bold;border:1px solid}
.history-pill.low{background:rgba(46,204,113,.1);border-color:rgba(46,204,113,.3);color:#2ecc71}
.history-pill.mid{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.3);color:#f59e0b}
.history-pill.high{background:rgba(168,85,247,.1);border-color:rgba(168,85,247,.3);color:#a855f7}
.history-pill.crash{background:rgba(231,76,60,.1);border-color:rgba(231,76,60,.3);color:#e74c3c}
.crash-body{display:flex;gap:20px;padding:20px 28px}
.crash-canvas-area{flex:1}
.crash-canvas-wrapper{background:rgba(0,0,0,.3);border-radius:12px;border:1px solid rgba(255,255,255,.05);padding:20px;min-height:480px;position:relative;overflow:hidden}
.crash-center-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:5}
.crash-center-state .waiting-icon{font-size:40px;margin-bottom:16px;animation:spin 2s linear infinite}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.crash-center-state .waiting-text{font-size:14px;color:#a855f7;margin-bottom:6px;letter-spacing:2px}
.crash-center-state .multiplier-big{font-size:72px;font-weight:900;color:#2ecc71;line-height:1}
.crash-center-state .multiplier-big.crashed{color:#e74c3c}
.crash-center-state .status-text{font-size:13px;color:#8b7ba5;margin-top:12px}
.crash-center-state .countdown-num{font-size:64px;font-weight:900;color:#f59e0b;line-height:1}
#crashCanvas{position:absolute;inset:0;width:100%;height:100%;border-radius:12px}
.crash-footer{position:absolute;bottom:12px;right:20px;font-size:11px;color:#5d4d7a}
.crash-panel{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}
.panel-card{background:rgba(20,12,35,.8);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:20px}
.panel-card h4{font-size:12px;color:#8b7ba5;margin-bottom:14px}
.bet-input-wrapper{background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:10px;margin-bottom:12px}
.bet-input-wrapper input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:20px;font-weight:800;font-family:inherit}
.quick-bets,.mult-bets{display:grid;gap:6px}
.quick-bets{grid-template-columns:repeat(4,1fr);margin-bottom:8px}
.mult-bets{grid-template-columns:repeat(3,1fr);margin-bottom:16px}
.quick-bets button,.mult-bets button{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#b8a8d0;padding:8px 0;border-radius:6px;font-size:11px;cursor:pointer;font-family:inherit}
.bet-btn-main{width:100%;padding:16px;border-radius:10px;font-size:16px;font-weight:800;cursor:pointer;border:none;font-family:inherit}
.bet-btn-main.orange{background:linear-gradient(135deg,#f59e0b,#d97706);color:#0d0817}
.bet-btn-main.green{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}
.bet-btn-main:disabled{opacity:.5;cursor:not-allowed}
.players-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}
.player-row-crash{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.02)}
.player-row-crash .avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a855f7);display:flex;align-items:center;justify-content:center;font-size:16px}
.player-row-crash .info{flex:1}
.player-row-crash .name{font-size:12px;color:#e8e2f5;font-weight:600}
.player-row-crash .bet-amount{font-size:10px;color:#8b7ba5}
.player-row-crash .status-badge{font-size:11px;font-weight:bold;padding:3px 8px;border-radius:10px;color:#8b7ba5}
.player-row-crash .status-badge.cashed{color:#2ecc71;background:rgba(46,204,113,.15)}

/* ============ 编辑模式 ============ */
.editable-wrap{position:relative}
.edit-pencil{display:none;position:absolute;top:-8px;right:-8px;background:#f59e0b;color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:12px;cursor:pointer;z-index:100}
body.edit-mode .edit-pencil{display:flex;align-items:center;justify-content:center}
#editModeToggle{display:none;position:fixed;bottom:90px;right:28px;background:#f59e0b;color:#fff;border:none;padding:10px 16px;border-radius:6px;font-size:13px;font-weight:bold;cursor:pointer;z-index:9999}
#editModeToggle.active{background:#2ecc71}
.back-to-top{position:fixed;bottom:28px;right:28px;background:#1a2734;color:#fff;border:none;padding:10px 16px;border-radius:6px;font-size:13px;cursor:pointer;font-weight:bold;z-index:999}

/* ============ 地图 ============ */
.wmap-shell{display:flex;height:calc(100vh - 130px);min-height:600px;background:#0a1628;border-radius:12px;overflow:hidden}
.wmap-side{width:260px;flex-shrink:0;background:#0f1e35;color:#e2e8f0;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;border-right:1px solid rgba(59,156,255,.12)}
.wmap-logo{font-size:22px;font-weight:900;color:#fff}
.wmap-sub{font-size:11px;color:#64748b;margin-top:2px}
.wmap-search{position:relative}
.wmap-search input{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(59,156,255,.2);border-radius:8px;padding:10px 12px;color:#fff;font-size:13px;font-family:inherit;outline:none}
.wmap-search-results{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#0a1628;border:1px solid #2a2a35;border-radius:8px;max-height:220px;overflow-y:auto;z-index:100;display:none}
.wmap-search-results.show{display:block}
.wmap-search-item{padding:10px 12px;font-size:12px;cursor:pointer;display:flex;gap:8px;border-bottom:1px solid rgba(255,255,255,.03)}
.wmap-search-item:hover{background:rgba(59,156,255,.1)}
.wmap-search-item .name{flex:1;color:#e2e8f0}
.wmap-search-item .coord{font-size:10px;color:#64748b;font-family:Consolas,monospace}
.wmap-section-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800;color:#94a3b8;margin-bottom:10px;letter-spacing:.5px}
.wmap-layer-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.wmap-layer-item{display:flex;align-items:center;gap:6px;padding:8px 10px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:6px;font-size:11px;color:#cbd5e1;cursor:pointer}
.wmap-layer-item.on{background:rgba(59,156,255,.12);border-color:rgba(59,156,255,.3);color:#fff}
.wmap-layer-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.wmap-layer-actions{display:flex;gap:6px;margin-top:8px}
.wmap-layer-actions button{flex:1;padding:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#cbd5e1;border-radius:6px;font-size:11px;cursor:pointer;font-family:inherit;font-weight:bold}
.wmap-group{background:rgba(255,255,255,.03);border-radius:8px;padding:12px;text-align:center;font-size:12px;color:#94a3b8}
.wmap-group-num{font-size:20px;font-weight:900;color:#ef4444;font-family:Consolas,monospace;margin-top:4px}
.wmap-shell-main{flex:1;position:relative;overflow:hidden}
.wmap-viewport{width:100%;height:100%;position:relative;overflow:hidden;cursor:grab;background:#0a1628}
.wmap-viewport:active{cursor:grabbing}
.wmap-scene{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}
.wmap-layer{position:absolute;top:0;left:0;width:100%;height:100%;user-select:none;pointer-events:none;display:block}
.wmap-labels-layer,.wmap-resources-layer,.wmap-players-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}
.wmap-point{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:11px;color:#fff;pointer-events:auto}
.wmap-point .dot{width:8px;height:8px;border-radius:50%;border:1.5px solid #fff;flex-shrink:0}
.wmap-point .label{background:rgba(10,22,40,.85);padding:2px 6px;border-radius:4px;font-weight:bold}
.wmap-coord-display{position:absolute;bottom:16px;left:16px;background:rgba(10,22,40,.9);border:1px solid rgba(59,156,255,.2);color:#94a3b8;padding:8px 14px;border-radius:6px;font-size:12px;font-family:Consolas,monospace;z-index:20}
.wmap-coord-display b{color:#3b9cff}
.wmap-zoom{position:absolute;bottom:20px;right:20px;display:flex;flex-direction:column;gap:6px;z-index:20}
.wmap-zoom button{width:40px;height:40px;background:rgba(10,22,40,.9);border:1px solid rgba(59,156,255,.2);color:#cbd5e1;border-radius:8px;font-size:16px;cursor:pointer;font-weight:bold}

/* ============ 皮肤 iframe ============ */
.skin-frame-wrap{position:relative;width:100%;height:calc(100vh - 130px);min-height:620px;border-radius:12px;overflow:hidden;border:1px solid #e0e4e8;background:#0a0d12}
.skin-frame{width:100%;height:100%;display:block;border:0;position:absolute;inset:0}

/* ======================================================
   恐龙详情大面板
   ====================================================== */
.dino-detail-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:99998;align-items:center;justify-content:center;padding:20px}
.dino-detail-mask.show{display:flex}
.dino-detail{background:#0d0a15;border-radius:16px;width:100%;max-width:1280px;height:94vh;display:flex;flex-direction:column;overflow:hidden;color:#e8e2f5;border:1px solid #2a2a35;position:relative}
.dino-detail-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:8px;background:#1a1f2e;color:#fff;border:1px solid #2a2a35;cursor:pointer;font-size:16px;z-index:5}
.dino-hero{position:relative;padding:24px 32px 20px;background:linear-gradient(180deg,#1a1622 0%,#0d0a15 100%);border-bottom:1px solid #1a1a22;min-height:320px;overflow:hidden;flex-shrink:0}
.dino-hero-tags{display:flex;gap:8px;margin-bottom:8px}
.hero-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:11px;font-weight:bold;color:#cbd5e1}
.hero-tag-prime{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.4);color:#fbbf24}
.dino-hero-image{position:absolute;right:14%;top:50%;transform:translateY(-50%);font-size:220px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.6));pointer-events:none}
.dino-hero-title{position:absolute;left:32px;top:50%;transform:translateY(-50%);font-size:64px;font-weight:900;color:#fff;letter-spacing:4px;text-shadow:0 4px 20px rgba(0,0,0,.8);pointer-events:none;opacity:.95}
.dino-hero-bottom{position:absolute;left:32px;right:32px;bottom:20px;display:flex;justify-content:space-between;align-items:flex-end}
.dino-hero-id{font-size:11px;color:#7d7d95;font-family:Consolas,monospace;margin-bottom:4px}
.dino-hero-name{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:900;color:#fff}
.dino-hero-edit{background:transparent;border:1px solid rgba(255,255,255,.15);color:#a4b4c4;width:26px;height:26px;border-radius:6px;font-size:13px;cursor:pointer;font-family:inherit}
.dino-hero-edit:hover{background:rgba(255,255,255,.08);color:#fff}
.dino-hero-growth{text-align:right}
.dino-hero-growth-label{font-size:11px;color:#7d7d95;margin-bottom:2px}
.dino-hero-growth-val{font-size:36px;font-weight:900;color:#fff;line-height:1}
.dino-hero-growth-val .pct{font-size:18px;color:#7d7d95;margin-left:2px}
.dino-tabs{display:flex;background:#0d0a15;border-bottom:1px solid #1a1a22;flex-shrink:0}
.dino-tab{flex:1;padding:14px 12px;text-align:center;font-size:13px;font-weight:bold;color:#7d7d95;cursor:pointer;border-bottom:2px solid transparent;display:flex;align-items:center;justify-content:center;gap:6px;transition:.15s}
.dino-tab:hover{color:#cbd5e1}
.dino-tab.active{color:#fff;border-bottom-color:#f59e0b}
.dino-tab-badge{background:#f59e0b;color:#0d0a15;font-size:10px;padding:1px 6px;border-radius:8px;font-weight:900}
.dino-body-grid{flex:1;overflow-y:auto;padding:24px 32px}
.dino-panel.hidden{display:none}
.dino-panel[data-panel="overview"]{display:grid;grid-template-columns:1fr 320px;gap:24px}
.dino-panel[data-panel="overview"].hidden{display:none}
.dino-stat-row{display:grid;grid-template-columns:36px 60px 1fr 60px;align-items:center;gap:12px;padding:10px 12px;background:#12101a;border:1px solid #1f1f2b;border-radius:8px;margin-bottom:8px}
.dino-stat-ico{font-size:18px;text-align:center}
.dino-stat-label{font-size:13px;color:#a4b4c4;font-weight:bold}
.dino-stat-bar{height:8px;background:#1f1f2b;border-radius:4px;overflow:hidden}
.dino-stat-fill{height:100%;border-radius:4px;transition:width .4s}
.fill-grey{background:linear-gradient(90deg,#5a6c7d,#7d8c9c)}
.fill-red{background:linear-gradient(90deg,#ef4444,#f87171)}
.fill-yellow{background:linear-gradient(90deg,#eab308,#facc15)}
.fill-orange{background:linear-gradient(90deg,#ea580c,#fb923c)}
.fill-blue{background:linear-gradient(90deg,#0ea5e9,#38bdf8)}
.dino-stat-num{font-size:14px;font-weight:900;color:#fff;text-align:right}
.dino-mut-header{display:flex;justify-content:space-between;align-items:center;padding:14px 4px 10px;font-size:13px;font-weight:bold;color:#cbd5e1}
.dino-stat-ico-inline{font-size:14px;margin-right:4px}
.dino-mut-manage{font-size:12px;color:#7d7d95;cursor:pointer}
.dino-mut-manage:hover{color:#f59e0b}
.dino-mut-list{display:flex;flex-wrap:wrap;gap:8px}
.mut-chip{padding:6px 12px;background:#12101a;border:1px solid #1f1f2b;border-radius:6px;font-size:12px;color:#cbd5e1}
.mut-chip b{color:#a78bfa;font-weight:bold;margin-right:2px}
.dino-empty{text-align:center;color:#5d4d7a;padding:60px 0;font-size:13px}
.dino-info-card{display:flex;gap:12px;padding:14px;background:#12101a;border:1px solid #1f1f2b;border-radius:8px;align-items:flex-start}
.dino-info-ico{width:32px;height:32px;border-radius:6px;background:#1a1f2e;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.dino-info-label{font-size:11px;color:#7d7d95;margin-bottom:3px}
.dino-info-val{font-size:13px;font-weight:bold;color:#e8e2f5}
.dino-info-id{font-size:11px;font-family:Consolas,monospace;color:#a4b4c4;word-break:break-all}
.dino-info-progress{height:3px;background:#1f1f2b;border-radius:2px;margin-top:6px;overflow:hidden}
.dino-info-progress div{height:100%;background:#f59e0b;border-radius:2px}
.card-flame .dino-info-ico{color:#fb923c}
.card-gold .dino-info-ico{color:#fbbf24}
.dino-mut-conditions{display:flex;justify-content:space-between;align-items:center;background:#12101a;border:1px solid #1f1f2b;border-radius:8px;padding:16px 20px;margin-bottom:20px}
.dino-mut-conditions-left{display:flex;flex-direction:column;gap:8px;flex:1}
.dino-mut-condition{display:flex;align-items:center;gap:10px;font-size:13px;color:#a4b4c4}
.dino-mut-condition b{color:#fff;font-weight:bold;margin-left:6px}
.mc-ico{width:20px;text-align:center;font-size:14px}
.mc-ico.mc-blue{color:#3b82f6}
.dino-mut-conditions-cost{text-align:center;padding-left:20px;border-left:1px solid #1f1f2b;min-width:140px}
.dmc-label{font-size:11px;color:#7d7d95;margin-bottom:4px}
.dmc-val{font-size:16px;font-weight:900;color:#fbbf24}
.dino-mut-section{margin-bottom:24px}
.dms-title{font-size:13px;color:#a4b4c4;font-weight:bold;padding:8px 4px;display:flex;align-items:center;gap:6px}
.dms-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dms-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#12101a;border:1px solid #1f1f2b;border-radius:8px}
.dms-item.dms-locked{opacity:.5}
.dms-item-left{display:flex;align-items:center;gap:12px}
.dms-item-label{font-size:12px;color:#7d7d95;min-width:60px}
.dms-item-name{font-size:14px;font-weight:bold;color:#e8e2f5}
.dms-item-name.dms-empty{color:#4a4a5a;font-weight:normal}
.dms-item-btn{padding:5px 14px;background:transparent;border:1px solid #f59e0b;color:#fbbf24;border-radius:6px;font-size:12px;font-weight:bold;cursor:pointer;font-family:inherit}
.dms-item-btn:hover{background:rgba(245,158,11,.12)}
.dms-item-btn.dms-btn-lock{border-color:#2a2a35;color:#5a5a6a;cursor:not-allowed}
.dino-prime-header{display:flex;align-items:center;gap:16px;padding:20px;background:#12101a;border:1px solid rgba(245,158,11,.3);border-radius:10px;margin-bottom:20px}
.dino-prime-icon{width:48px;height:48px;border-radius:10px;background:rgba(245,158,11,.15);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fbbf24}
.dino-prime-title{font-size:18px;font-weight:900;color:#fbbf24;margin-bottom:2px}
.dino-prime-sub{font-size:12px;color:#a4b4c4}
.dino-prime-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.dino-prime-cell{padding:22px 10px;background:#12101a;border:1px solid rgba(245,158,11,.3);border-radius:8px;text-align:center}
.dino-prime-cell.cell-fail{background:rgba(0,0,0,.4);border-color:#1f1f2b}
.dino-prime-cell .pc-ico{font-size:18px;color:#fbbf24;margin-bottom:6px;display:block}
.dino-prime-cell.cell-fail .pc-ico{color:#4a4a5a}
.dino-prime-cell .pc-label{font-size:12px;font-weight:bold;color:#fbbf24}
.dino-prime-cell.cell-fail .pc-label{color:#4a4a5a}
.dino-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:#0a0810;border-top:1px solid #1a1a22;flex-shrink:0}
.dino-footer-status{display:flex;align-items:center;gap:8px;font-size:12px;color:#7d7d95}
.dino-status-dot{width:8px;height:8px;border-radius:50%;background:#ef4444}
.dino-footer-btns{display:flex;gap:10px}
.dino-btn{padding:10px 20px;border-radius:6px;font-size:13px;font-weight:bold;cursor:pointer;font-family:inherit;border:none}
.dino-btn-outline{background:transparent;border:1px solid #2a2a35;color:#e8e2f5}
.dino-btn-outline:hover{background:#1a1f2e;border-color:#f59e0b;color:#fbbf24}
.dino-btn-disabled{background:#12101a;border:1px solid #1f1f2b;color:#4a4a5a;cursor:not-allowed}

/* ======================================================
   市场/拍卖 页面
   ====================================================== */
.mk-page{background:#0d0a15;border-radius:12px;padding:24px 28px;min-height:calc(100vh - 130px);color:#e8e2f5}
.mk-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:20px;flex-wrap:wrap}
.mk-title-wrap{display:flex;gap:14px;align-items:center}
.mk-title-icon{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;font-size:26px}
.mk-title{font-size:28px;font-weight:900;color:#fff}
.mk-sub{font-size:13px;color:#7d7d95;margin-top:4px}
.mk-head-actions{display:flex;align-items:center;gap:12px}
.mk-act-count{background:#12101a;border:1px solid #2a2a35;padding:10px 16px;border-radius:8px;font-size:13px;color:#a4b4c4;font-weight:bold}
.mk-act-count b{color:#fbbf24;margin-left:4px}
.mk-act-btn{padding:12px 22px;border-radius:8px;font-size:14px;font-weight:900;cursor:pointer;border:none;font-family:inherit}
.mk-act-primary{background:#f59e0b;color:#0d0a15}
.mk-act-primary:hover{background:#fbbf24}
.mk-tabs{display:flex;gap:4px;border-bottom:1px solid #1a1a22;margin-bottom:20px}
.mk-tab{padding:12px 20px;font-size:13px;font-weight:bold;color:#7d7d95;cursor:pointer;border-bottom:2px solid transparent;display:flex;align-items:center;gap:6px}
.mk-tab:hover{color:#cbd5e1}
.mk-tab.active{color:#fbbf24;border-bottom-color:#f59e0b}
.mk-tab b{background:#2a2a35;color:#a4b4c4;font-size:11px;padding:2px 7px;border-radius:8px;font-weight:900}
.mk-tab.active b{background:#f59e0b;color:#0d0a15}
.mk-panel.hidden{display:none}
.market-grid,.auction-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1400px){.market-grid,.auction-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.market-grid,.auction-grid{grid-template-columns:repeat(2,1fr)}}
.mk-card{background:#12101a;border:1px solid #1f1f2b;border-radius:12px;overflow:hidden;transition:.2s;display:flex;flex-direction:column;cursor:pointer}
.mk-card:hover{border-color:#f59e0b;transform:translateY(-3px)}
.mk-card-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;gap:6px}
.mk-card-tags{display:flex;gap:5px;flex-wrap:wrap}
.mk-tag{font-size:10px;font-weight:bold;padding:3px 7px;border-radius:5px;background:rgba(255,255,255,.06);color:#cbd5e1;border:1px solid rgba(255,255,255,.08);display:inline-flex;align-items:center;gap:3px}
.mk-tag-prime{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.4);color:#fbbf24}
.mk-card-timer{font-size:11px;color:#a4b4c4;background:rgba(0,0,0,.4);border:1px solid #2a2a35;padding:3px 8px;border-radius:5px;font-family:Consolas,monospace;font-weight:bold}
.mk-card-img{height:150px;display:flex;align-items:center;justify-content:center;font-size:80px;background:radial-gradient(ellipse at center,rgba(245,158,11,.08),transparent 70%)}
.mk-card-body{padding:12px 14px 14px;flex:1;display:flex;flex-direction:column;gap:10px}
.mk-card-species{font-size:11px;color:#fbbf24;font-weight:bold}
.mk-card-name{font-size:17px;font-weight:900;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:6px}
.mk-card-name-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.mk-card-growth{font-size:15px;color:#fbbf24;font-weight:900}
.mk-card-growth small{font-size:10px;color:#7d7d95;font-weight:400}
.mk-card-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:4px}
.mk-bar-item{text-align:center}
.mk-bar-item .mk-bar-ico{font-size:11px;margin-bottom:2px;display:block}
.mk-bar-item .mk-bar-track{height:3px;background:#1f1f2b;border-radius:2px;overflow:hidden;margin-bottom:3px}
.mk-bar-item .mk-bar-fill{height:100%;border-radius:2px}
.mk-bar-item .mk-bar-num{font-size:10px;color:#a4b4c4;font-weight:bold}
.bar-hp .mk-bar-fill{background:#ef4444}
.bar-st .mk-bar-fill{background:#eab308}
.bar-hu .mk-bar-fill{background:#ea580c}
.bar-th .mk-bar-fill{background:#0ea5e9}
.mk-card-muts{margin-top:2px}
.mk-card-muts-title{font-size:10px;color:#7d7d95;margin-bottom:5px;font-weight:bold}
.mk-card-muts-list{display:flex;flex-wrap:wrap;gap:4px}
.mk-mut-chip{font-size:10px;padding:3px 7px;background:#1a1f2e;border:1px solid #2a2a35;border-radius:5px;color:#cbd5e1;font-weight:bold}
.mk-card-price{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid #1f1f2b;margin-top:auto}
.mk-card-seller{font-size:11px;color:#7d7d95;display:flex;align-items:center;gap:6px}
.mk-card-seller-avatar{width:20px;height:20px;border-radius:4px;background:#2a2a35;display:flex;align-items:center;justify-content:center;font-size:11px}
.mk-card-price-val{font-size:15px;color:#fbbf24;font-weight:900}
.mk-card-foot{background:#0a0810;border-top:1px solid #1a1a22;padding:10px;text-align:center}
.mk-card-foot button{width:100%;background:transparent;border:none;color:#7d7d95;font-size:12px;font-weight:bold;cursor:pointer;font-family:inherit;padding:4px}
.mk-card-foot button:hover{color:#fbbf24}
.mk-mylist{display:flex;flex-direction:column;gap:10px}
.mk-mylist-item{background:#12101a;border:1px solid #1f1f2b;border-radius:10px;padding:16px 20px;display:flex;align-items:center;gap:16px}
.mk-mylist-img{width:60px;height:60px;border-radius:8px;background:radial-gradient(ellipse at center,rgba(245,158,11,.1),transparent 70%);display:flex;align-items:center;justify-content:center;font-size:32px;flex-shrink:0}
.mk-mylist-info{flex:1;min-width:0}
.mk-mylist-name{font-size:15px;font-weight:900;color:#fff;display:flex;align-items:center;gap:8px;margin-bottom:4px}
.mk-mylist-badge{font-size:10px;padding:2px 7px;border-radius:4px;font-weight:bold}
.mk-badge-active{background:rgba(245,158,11,.15);color:#fbbf24;border:1px solid rgba(245,158,11,.3)}
.mk-badge-done{background:rgba(34,197,94,.15);color:#22c55e;border:1px solid rgba(34,197,94,.3)}
.mk-badge-cancel{background:rgba(120,120,140,.2);color:#a4b4c4;border:1px solid #2a2a35}
.mk-mylist-sub{font-size:12px;color:#7d7d95}
.mk-mylist-price{text-align:right;padding-right:8px}
.mk-mylist-price-label{font-size:11px;color:#7d7d95;margin-bottom:4px}
.mk-mylist-price-val{font-size:16px;color:#fbbf24;font-weight:900}
.mk-mylist-btn{padding:10px 16px;background:transparent;border:1px solid #2a2a35;color:#a4b4c4;border-radius:6px;font-size:13px;font-weight:bold;cursor:pointer;font-family:inherit;white-space:nowrap}
.mk-mylist-btn:hover{background:#1a1f2e;color:#fff;border-color:#ef4444}
.mk-mylist-btn-disabled{opacity:.4;cursor:not-allowed}
.mk-mylist-empty{text-align:center;color:#5d4d7a;padding:60px 0;font-size:13px}

/* ============ 拍卖详情独立页 ============ */
.auc-detail-wrap{background:#0a0810;border-radius:12px;min-height:calc(100vh - 130px);color:#e8e2f5;position:relative;padding:20px}
.auc-back-btn{position:absolute;top:20px;left:28px;background:transparent;border:1px solid #2a2a35;color:#a4b4c4;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:bold;cursor:pointer;font-family:inherit;z-index:10}
.auc-back-btn:hover{background:#1a1f2e;color:#fff;border-color:#f59e0b}
.auc-detail-body{display:grid;grid-template-columns:1fr 420px;gap:20px;padding-top:52px}
.auc-hero{position:relative;height:340px;background:radial-gradient(ellipse at 60% 40%,rgba(245,158,11,.12),transparent 65%);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:14px}
.auc-hero-img{font-size:220px;filter:drop-shadow(0 12px 30px rgba(0,0,0,.7))}
.auc-hero-tags{position:absolute;top:16px;left:16px;display:flex;gap:6px}
.auc-hero-tags .hero-tag{font-size:11px;padding:4px 10px;border-radius:5px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#cbd5e1;font-weight:bold}
.auc-hero-tags .hero-tag.prime{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.4);color:#fbbf24}
.auc-hero-info{margin-bottom:18px}
.auc-hero-id{font-size:11px;color:#fbbf24;font-family:Consolas,monospace;margin-bottom:6px}
.auc-hero-name{font-size:36px;font-weight:900;color:#fff;letter-spacing:1px}
.auc-section{background:#12101a;border:1px solid #1f1f2b;border-radius:10px;padding:18px 20px;margin-bottom:14px}
.auc-section-title{font-size:13px;font-weight:900;color:#fff;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.auc-section-title b{background:#f59e0b;color:#0d0a15;font-size:11px;padding:2px 8px;border-radius:8px}
.auc-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.auc-stat-row{display:grid;grid-template-columns:24px 44px 1fr 50px;align-items:center;gap:10px;padding:10px 12px;background:#0d0a15;border:1px solid #1f1f2b;border-radius:8px}
.auc-stat-ico{font-size:15px;text-align:center}
.auc-stat-label{font-size:12px;color:#a4b4c4;font-weight:bold}
.auc-stat-bar{height:6px;background:#1f1f2b;border-radius:3px;overflow:hidden}
.auc-stat-bar>div{height:100%;border-radius:3px}
.auc-stat-bar .grey{background:#7d8c9c}
.auc-stat-bar .red{background:#ef4444}
.auc-stat-bar .yellow{background:#eab308}
.auc-stat-bar .orange{background:#ea580c}
.auc-stat-bar .blue{background:#0ea5e9}
.auc-stat-val{font-size:12px;font-weight:900;color:#fff;text-align:right}
.auc-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.auc-feature-card{display:flex;gap:12px;padding:14px;background:#0d0a15;border:1px solid #1f1f2b;border-radius:8px;align-items:center}
.auc-feature-ico{width:34px;height:34px;border-radius:6px;background:#1a1f2e;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fbbf24;flex-shrink:0}
.auc-feature-label{font-size:11px;color:#7d7d95;margin-bottom:3px}
.auc-feature-val{font-size:14px;font-weight:900;color:#fbbf24}
.auc-feature-sub{font-size:10px;color:#7d7d95;margin-top:2px}
.auc-prime-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin-top:6px}
.auc-prime-cell{padding:10px 4px;background:#0d0a15;border:1px solid #1f1f2b;border-radius:6px;text-align:center}
.auc-prime-cell.pass{border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.04)}
.auc-prime-cell.pass .pc-ico{color:#fbbf24}
.auc-prime-cell.fail .pc-ico{color:#4a4a5a}
.auc-prime-cell .pc-ico{font-size:14px;font-weight:900;display:block;margin-bottom:3px}
.auc-prime-cell .pc-label{font-size:10px;color:#a4b4c4;font-weight:bold}
.auc-prime-cell.pass .pc-label{color:#fbbf24}
.auc-mut-group-title{font-size:12px;color:#a4b4c4;font-weight:bold;margin-bottom:8px;display:flex;justify-content:space-between}
.auc-mut-group-title span{color:#7d7d95;font-weight:400}
.auc-mut-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.auc-mut-item{padding:10px 14px;background:#0d0a15;border:1px solid #1f1f2b;border-radius:6px;font-size:13px;color:#e8e2f5;font-weight:bold}
.auc-mut-item.empty{color:#4a4a5a;font-weight:normal;font-style:italic}
.auc-right{display:flex;flex-direction:column;gap:14px}
.auc-card{background:#12101a;border:1px solid #1f1f2b;border-radius:12px;padding:16px}
.auc-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.auc-card-ending{border-color:rgba(239,68,68,.4)}
.auc-ending-title{font-size:13px;font-weight:900;color:#ef4444;display:flex;align-items:center;gap:6px}
.auc-fee-label{font-size:11px;color:#7d7d95}
.auc-timer-label{font-size:12px;color:#7d7d95;margin-bottom:10px}
.auc-timer-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.auc-timer-box{background:#0d0a15;border:1px solid rgba(239,68,68,.4);border-radius:8px;padding:12px 8px;text-align:center}
.auc-timer-num{font-size:36px;font-weight:900;color:#ef4444;font-family:Consolas,monospace;line-height:1}
.auc-timer-unit{font-size:10px;color:#7d7d95;margin-top:4px;letter-spacing:2px}
.auc-timer-colon{font-size:28px;font-weight:900;color:#ef4444;margin-top:-8px}
.auc-timer-bar{height:4px;background:#1f1f2b;border-radius:2px;overflow:hidden;margin-top:12px}
.auc-timer-bar>div{height:100%;background:#ef4444;border-radius:2px;transition:width 1s linear}
.auc-price-label{font-size:12px;color:#7d7d95;margin-bottom:8px}
.auc-price-val{font-size:32px;color:#fbbf24;font-weight:900;display:flex;align-items:center;gap:8px;margin-bottom:6px}
.auc-price-sub{font-size:12px;color:#a4b4c4;margin-bottom:14px}
.auc-price-sub b{color:#fbbf24}
.auc-bid-btn{width:100%;padding:16px;background:#f59e0b;color:#0d0a15;border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-weight:900;display:flex;flex-direction:column;align-items:center;gap:3px;transition:background .15s}
.auc-bid-btn:hover{background:#fbbf24}
.auc-bid-btn span{font-size:16px}
.auc-bid-btn small{font-size:12px;opacity:.85;font-weight:700}
.auc-bid-won{background:#fbbf24;color:#0d0a15;padding:16px;border-radius:10px;text-align:center;font-size:16px;font-weight:900;line-height:1.4}
.auc-bid-won span{font-size:12px;font-weight:700;display:block;margin-top:4px}
.auc-bid-notice{font-size:11px;color:#5a5a6a;line-height:1.7;margin-top:14px}
.auc-bid-notice span{color:#fbbf24;font-weight:bold}
.auc-seller-row{display:flex;align-items:center;gap:12px}
.auc-seller-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a855f7);display:flex;align-items:center;justify-content:center;font-size:20px}
.auc-seller-label{font-size:11px;color:#7d7d95;margin-bottom:3px}
.auc-seller-name{font-size:15px;font-weight:900;color:#fff}
.auc-seller-date{font-size:11px;color:#7d7d95}
.auc-history-title{font-size:13px;font-weight:900;color:#fff}
.auc-history-live{font-size:11px;color:#22c55e;font-weight:bold;display:flex;align-items:center;gap:4px}
.auc-history-live .dot-live{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e;animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.auc-history-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto;margin-top:10px}
.auc-history-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#0d0a15;border:1px solid #1f1f2b;border-radius:6px}
.auc-history-item.top{border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.05)}
.auc-history-item.mine{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.05)}
.auc-history-user{display:flex;align-items:center;gap:8px;font-size:13px;color:#e8e2f5;font-weight:bold}
.auc-history-avatar{width:24px;height:24px;border-radius:4px;background:#2a2a35;display:flex;align-items:center;justify-content:center;font-size:11px}
.auc-history-price{font-size:14px;font-weight:900;color:#fbbf24}
.auc-history-empty{text-align:center;color:#5d4d7a;font-size:12px;padding:24px 0}

/* ============ 市场详情居中弹窗 ============ */
.mkt-detail-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:99999;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.mkt-detail-mask.show{display:flex}
.mkt-detail-box{background:#0d0a15;border:1px solid #2a2a35;border-radius:16px;width:100%;max-width:960px;max-height:92vh;overflow-y:auto;color:#e8e2f5;position:relative}
.mkt-hero{position:relative;height:340px;background:radial-gradient(ellipse at 60% 50%,rgba(245,158,11,.12),transparent 65%),linear-gradient(180deg,#1a1622,#0d0a15);border-radius:16px 16px 0 0;overflow:hidden;padding:16px 20px}
.mkt-hero-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:3}
.mkt-hero-tags{display:flex;gap:6px}
.mkt-hero-tags .hero-tag{font-size:11px;padding:4px 10px;border-radius:5px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#cbd5e1;font-weight:bold}
.mkt-hero-tags .hero-tag.prime{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.4);color:#fbbf24}
.mkt-hero-right{display:flex;align-items:center;gap:8px}
.mkt-hero-timer{display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.55);border:1px solid #2a2a35;padding:6px 12px;border-radius:6px;font-size:12px;color:#a4b4c4;font-weight:bold}
.mkt-hero-close{background:rgba(0,0,0,.55);border:1px solid #2a2a35;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:16px;font-family:inherit}
.mkt-hero-close:hover{border-color:#ef4444;color:#ef4444}
.mkt-hero-img{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);font-size:200px;filter:drop-shadow(0 12px 30px rgba(0,0,0,.7));pointer-events:none;z-index:1}
.mkt-hero-bottom{position:absolute;left:24px;right:24px;bottom:16px;display:flex;justify-content:space-between;align-items:flex-end;z-index:3}
.mkt-hero-id{font-size:11px;color:#fbbf24;font-family:Consolas,monospace;margin-bottom:6px}
.mkt-hero-name{font-size:28px;font-weight:900;color:#fff;letter-spacing:1px}
.mkt-hero-growth{text-align:right}
.mkt-hero-growth-label{font-size:11px;color:#7d7d95;margin-bottom:2px}
.mkt-hero-growth-val{font-size:36px;font-weight:900;color:#fbbf24;line-height:1}
.mkt-hero-growth-val small{font-size:18px;color:#7d7d95;font-weight:400;margin-left:2px}
.mkt-tabs{display:flex;background:#0d0a15;border-bottom:1px solid #1a1a22}
.mkt-tab{flex:1;padding:14px 12px;text-align:center;font-size:13px;font-weight:bold;color:#7d7d95;cursor:pointer;border-bottom:2px solid transparent;display:flex;align-items:center;justify-content:center;gap:6px}
.mkt-tab.active{color:#fbbf24;border-bottom-color:#f59e0b}
.mkt-tab b{background:#2a2a35;color:#a4b4c4;font-size:10px;padding:2px 7px;border-radius:8px}
.mkt-tab.active b{background:#f59e0b;color:#0d0a15}
.mkt-body{padding:20px 24px;display:grid;grid-template-columns:1fr 340px;gap:20px}
.mkt-left{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}
.mkt-stat{padding:12px 14px;background:#12101a;border:1px solid #1f1f2b;border-radius:8px}
.mkt-stat-head{display:flex;justify-content:space-between;font-size:12px;color:#a4b4c4;font-weight:bold;margin-bottom:8px}
.mkt-stat-val{color:#fff}
.mkt-stat-bar{height:6px;background:#1f1f2b;border-radius:3px;overflow:hidden}
.mkt-stat-bar>div{height:100%;border-radius:3px}
.mkt-stat-bar .grey{background:#7d8c9c}
.mkt-stat-bar .red{background:#ef4444}
.mkt-stat-bar .yellow{background:#eab308}
.mkt-stat-bar .orange{background:#ea580c}
.mkt-stat-bar .blue{background:#0ea5e9}
.mkt-right{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}
.mkt-info-card{display:flex;gap:10px;padding:12px;background:#12101a;border:1px solid #1f1f2b;border-radius:8px;align-items:flex-start}
.mkt-info-card.full{grid-column:1/-1}
.mkt-info-ico{width:32px;height:32px;border-radius:6px;background:#1a1f2e;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fbbf24;flex-shrink:0}
.mkt-info-label{font-size:11px;color:#7d7d95;margin-bottom:3px}
.mkt-info-val{font-size:13px;font-weight:bold;color:#fff;word-break:break-all}
.mkt-mut-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.mkt-mut-item{padding:10px 14px;background:#0d0a15;border:1px solid #1f1f2b;border-radius:6px;font-size:13px;color:#e8e2f5;font-weight:bold}
.mkt-mut-item.empty{color:#4a4a5a;font-weight:normal;font-style:italic}
.mkt-footer{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:#0a0810;border-top:1px solid #1a1a22;border-radius:0 0 16px 16px}
.mkt-footer-label{font-size:11px;color:#7d7d95;margin-bottom:4px}
.mkt-footer-price{font-size:28px;font-weight:900;color:#fbbf24;display:flex;align-items:center;gap:8px}
.mkt-footer-balance{font-size:11px;color:#5a5a6a;margin-top:4px}
.mkt-buy-btn{padding:16px 48px;background:#f59e0b;color:#0d0a15;border:none;border-radius:10px;font-size:16px;font-weight:900;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:220px}
.mkt-buy-btn:hover{background:#fbbf24}
.mkt-buy-btn small{font-size:11px;opacity:.85;font-weight:700}
.mkt-buy-btn:disabled{background:#2a2a35;color:#5a5a6a;cursor:not-allowed}

/* ============ 市场列表 / 拍卖弹窗（lm） ============ */
.list-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:99999;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.list-mask.show{display:flex}
.list-modal{background:#0d0a15;border:1px solid #2a2a35;border-radius:14px;width:100%;max-width:640px;max-height:92vh;overflow-y:auto;color:#e8e2f5;padding:28px}
.lm-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.lm-head-icon{width:52px;height:52px;border-radius:10px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.4);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fbbf24}
.lm-head-title{font-size:22px;font-weight:900;color:#fff;margin-bottom:2px}
.lm-head-sub{font-size:13px;color:#a4b4c4}
.lm-sales-box{background:#12101a;border:1px solid rgba(245,158,11,.35);border-radius:10px;padding:18px 20px;margin-bottom:20px}
.lm-sales-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.lm-sales-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:bold;color:#fbbf24}
.lm-sales-count{font-size:12px;color:#7d7d95}
.lm-sales-hint{font-size:12px;color:#7d7d95;font-style:italic;margin-bottom:14px}
.lm-sales-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;color:#a4b4c4}
.lm-sales-row b{color:#fff;font-weight:bold;font-size:14px}
.lm-sales-row .val-gold{color:#fbbf24}
.lm-suggest-btn{width:100%;padding:12px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.4);color:#fbbf24;border-radius:8px;font-size:13px;font-weight:bold;cursor:pointer;font-family:inherit;margin-top:14px}
.lm-suggest-btn:hover{background:rgba(245,158,11,.15)}
.lm-field{margin-bottom:18px}
.lm-field-label{font-size:13px;font-weight:bold;color:#cbd5e1;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.lm-field-label .lm-field-hint{font-size:12px;color:#7d7d95;font-weight:normal}
.lm-input{width:100%;padding:14px 16px;background:#12101a;border:1px solid #2a2a35;color:#fff;font-size:18px;font-weight:bold;border-radius:8px;outline:none;font-family:inherit}
.lm-input:focus{border-color:#f59e0b}
.lm-range-hint{font-size:11px;color:#5a5a6a;margin-top:6px}
.lm-slider-wrap{margin-top:14px}
.lm-slider{width:100%;height:6px;-webkit-appearance:none;background:#2a2a35;border-radius:3px;outline:none}
.lm-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:#fbbf24;border:3px solid #0d0a15;border-radius:50%;cursor:pointer;box-shadow:0 0 8px rgba(245,158,11,.6)}
.lm-slider-labels{display:flex;justify-content:space-between;margin-top:10px;font-size:11px;color:#7d7d95}
.lm-slider-labels span.active{color:#fbbf24;font-weight:bold}
.lm-summary{background:#12101a;border:1px solid #1f1f2b;border-radius:8px;padding:16px 20px;margin-bottom:20px}
.lm-sum-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;color:#a4b4c4}
.lm-sum-row.lm-sum-total{border-top:1px solid #2a2a35;margin-top:8px;padding-top:12px;font-size:15px;color:#fff;font-weight:900}
.lm-sum-row .val-white{color:#fff;font-weight:bold}
.lm-sum-row .val-red{color:#ef4444;font-weight:bold}
.lm-sum-row .val-gold{color:#fbbf24;font-weight:900}
.lm-dur-row{display:flex;gap:8px;margin-top:8px}
.lm-dur-btn{flex:1;padding:12px 8px;background:transparent;border:1px solid #2a2a35;color:#a4b4c4;border-radius:8px;font-size:13px;font-weight:bold;cursor:pointer;font-family:inherit}
.lm-dur-btn:hover{border-color:#f59e0b;color:#fbbf24}
.lm-dur-btn.active{background:rgba(245,158,11,.15);border-color:#f59e0b;color:#fbbf24}
.lm-notice{background:#12101a;border:1px solid #1f1f2b;border-radius:8px;padding:14px 18px;font-size:12px;color:#a4b4c4;line-height:1.7;margin-bottom:20px}
.lm-notice b{color:#fff;font-weight:900}
.lm-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;margin-top:16px}
.lm-footer-left{font-size:12px;color:#fbbf24;font-weight:bold}
.lm-footer-btns{display:flex;gap:10px}
.lm-btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:900;cursor:pointer;font-family:inherit;border:none}
.lm-btn-cancel{background:#1a1f2e;color:#a4b4c4;border:1px solid #2a2a35}
.lm-btn-cancel:hover{background:#2a2a35;color:#fff}
.lm-btn-confirm{background:#f59e0b;color:#0d0a15}
.lm-btn-confirm:hover{background:#fbbf24}
.lm-btn-confirm:disabled{opacity:.5;cursor:not-allowed}

/* ============ 突变编辑弹窗 ============ */
.mut-edit-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:99999;align-items:center;justify-content:center;padding:20px}
.mut-edit-mask.show{display:flex}
.mut-edit-box{background:#0d0a15;border:1px solid #2a2a35;border-radius:14px;width:100%;max-width:520px;padding:28px;color:#e8e2f5}
.mut-edit-head{display:flex;gap:14px;align-items:center;margin-bottom:20px}
.mut-edit-icon{width:52px;height:52px;border-radius:10px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.4);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fbbf24}
.mut-edit-title{font-size:22px;font-weight:900;color:#fff}
.mut-edit-sub{font-size:13px;color:#7d7d95;margin-top:2px}
.mut-edit-current{background:#12101a;border:1px solid #1f1f2b;border-radius:10px;padding:16px 18px;margin-bottom:20px}
.mut-edit-current-label{font-size:11px;color:#7d7d95;margin-bottom:6px}
.mut-edit-current-name{font-size:18px;font-weight:900;color:#fff;margin-bottom:6px}
.mut-edit-current-desc{font-size:12px;color:#a4b4c4;line-height:1.6}
.mut-edit-field{margin-bottom:20px}
.mut-edit-label{display:block;font-size:13px;font-weight:bold;color:#cbd5e1;margin-bottom:8px}
.mut-edit-select{width:100%;padding:14px 16px;background:#12101a;border:1px solid #2a2a35;color:#fff;font-size:15px;font-weight:bold;border-radius:8px;outline:none;font-family:inherit;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23fbbf24' d='M6 8L0 0h12z'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
.mut-edit-select:focus{border-color:#f59e0b}
.mut-edit-cost{display:flex;justify-content:space-between;align-items:center;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.35);border-radius:8px;padding:14px 18px;margin-bottom:20px}
.mut-edit-cost-label{font-size:13px;color:#fbbf24;font-weight:bold}
.mut-edit-cost-val{font-size:15px;color:#fbbf24;font-weight:900}
.mut-edit-btns{display:flex;gap:12px;justify-content:flex-end}
.mut-edit-btn-cancel{padding:12px 24px;background:#1a1f2e;color:#a4b4c4;border:1px solid #2a2a35;border-radius:8px;font-size:14px;font-weight:bold;cursor:pointer;font-family:inherit}
.mut-edit-btn-cancel:hover{background:#2a2a35;color:#fff}
.mut-edit-btn-confirm{padding:12px 24px;background:#d97706;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:900;cursor:pointer;font-family:inherit}
.mut-edit-btn-confirm:hover{background:#f59e0b}

/* ============ 商店购买弹窗 ============ */
.shop-buy-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:99999;align-items:center;justify-content:center;padding:20px}
.shop-buy-mask.show{display:flex}
.shop-buy-box{background:#0a0810;border:1px solid #2a2a35;border-radius:16px;width:100%;max-width:1180px;height:90vh;display:grid;grid-template-columns:1fr 1.4fr;overflow:hidden;color:#e8e2f5;position:relative}
.shop-buy-left{background:radial-gradient(ellipse at 50% 40%,rgba(139,92,246,.25),transparent 60%),linear-gradient(180deg,#1a1030,#0d0a15);border-right:1px solid #1a1a22;padding:28px;display:flex;flex-direction:column;position:relative}
.shop-buy-tags{display:flex;gap:8px;margin-bottom:24px}
.shop-tag-epic{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:12px;font-weight:900;padding:5px 12px;border-radius:4px;letter-spacing:.5px}
.shop-tag-type{background:rgba(255,255,255,.08);color:#cbd5e1;font-size:12px;font-weight:bold;padding:5px 12px;border-radius:4px}
.shop-buy-img{font-size:180px;text-align:center;margin:20px 0;filter:drop-shadow(0 12px 30px rgba(0,0,0,.6))}
.shop-buy-name{font-size:32px;font-weight:900;color:#fff;letter-spacing:1px;margin-bottom:24px}
.shop-buy-sublabel{font-size:13px;color:#a4b4c4;font-weight:bold;margin-bottom:12px}
.shop-buy-variants{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.shop-variant{background:rgba(0,0,0,.4);border:2px solid #2a2a35;border-radius:10px;padding:16px;cursor:pointer;transition:.15s}
.shop-variant:hover{border-color:rgba(245,158,11,.5)}
.shop-variant.active{border-color:#f59e0b;background:rgba(245,158,11,.08)}
.shop-variant-label{font-size:13px;color:#cbd5e1;font-weight:bold;margin-bottom:10px}
.shop-variant.active .shop-variant-label{color:#fbbf24}
.shop-variant-price{font-size:18px;color:#fbbf24;font-weight:900;display:flex;align-items:center;gap:6px;font-family:Consolas,monospace}
.shop-buy-right{background:#0d0a15;padding:28px;display:flex;flex-direction:column;overflow-y:auto;position:relative}
.shop-buy-close{position:absolute;top:20px;right:20px;width:36px;height:36px;border-radius:8px;background:#1a1f2e;color:#fff;border:1px solid #2a2a35;cursor:pointer;font-size:16px;font-family:inherit;z-index:5}
.shop-buy-close:hover{border-color:#ef4444;color:#ef4444}
.shop-buy-head{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:bold;color:#cbd5e1;margin-bottom:16px;padding-right:44px}
.shop-buy-counter{font-size:12px;color:#7d7d95;font-weight:normal}
.shop-buy-section-title{font-size:13px;font-weight:900;color:#fbbf24;margin-top:16px;margin-bottom:10px;letter-spacing:.5px}
.shop-buy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:8px}
.shop-buy-field label{display:block;font-size:11px;color:#7d7d95;margin-bottom:6px}
.sb-select{width:100%;padding:12px 14px;background:#12101a;border:1px solid #2a2a35;color:#fff;font-size:13px;font-weight:bold;border-radius:8px;outline:none;font-family:inherit;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'><path fill='%23fbbf24' d='M5 7L0 0h10z'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
.sb-select:focus{border-color:#f59e0b}
.shop-buy-preset{padding:10px 16px;background:transparent;border:1px solid #2a2a35;color:#5a5a6a;border-radius:8px;font-size:13px;font-weight:bold;cursor:not-allowed;font-family:inherit}
.shop-buy-footer{display:flex;justify-content:space-between;align-items:flex-end;padding-top:20px;margin-top:20px;border-top:1px solid #1a1a22}
.shop-buy-total-label{font-size:12px;color:#7d7d95;margin-bottom:4px}
.shop-buy-total-val{font-size:28px;font-weight:900;color:#fbbf24;display:flex;align-items:center;gap:6px;font-family:Consolas,monospace}
.shop-buy-total-sub{font-size:11px;color:#5a5a6a;margin-top:4px}
.shop-buy-btns{display:flex;gap:12px}
.shop-buy-cancel{padding:16px 28px;background:#1a1f2e;color:#a4b4c4;border:1px solid #2a2a35;border-radius:10px;font-size:14px;font-weight:bold;cursor:pointer;font-family:inherit}
.shop-buy-cancel:hover{background:#2a2a35;color:#fff}
.shop-buy-confirm{padding:14px 36px;background:#d97706;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:900;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:180px}
.shop-buy-confirm:hover{background:#f59e0b}
.shop-buy-confirm small{font-size:11px;opacity:.9;font-weight:700}

/* ==================== 后台管理 ==================== */
.nav-item.admin-only{display:none !important}
body.is-admin .nav-item.admin-only{display:flex !important}

.admin-wrap{background:#0d0a15;border-radius:12px;padding:24px 28px;min-height:calc(100vh - 130px);color:#e8e2f5}
.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px;flex-wrap:wrap}
.admin-head-left{display:flex;gap:14px;align-items:center}
.admin-head-icon{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:26px}
.admin-head-title{font-size:26px;font-weight:900;color:#fff}
.admin-head-sub{font-size:13px;color:#7d7d95;margin-top:4px}
.admin-btn-primary{padding:12px 22px;background:#f59e0b;color:#0d0a15;border:none;border-radius:8px;font-size:14px;font-weight:900;cursor:pointer;font-family:inherit}
.admin-btn-primary:hover{background:#fbbf24}

.admin-user-list{display:flex;flex-direction:column;gap:14px}
.admin-user-card{background:#12101a;border:1px solid #1f1f2b;border-radius:12px;padding:20px}
.admin-user-top{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #1f1f2b}
.admin-user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a855f7);display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;flex-shrink:0}
.admin-user-info{flex:1}
.admin-user-name{font-size:17px;font-weight:900;color:#fff;display:flex;align-items:center;gap:8px}
.admin-user-tag{font-size:10px;padding:2px 8px;border-radius:8px;font-weight:bold}
.admin-user-tag.admin{background:rgba(245,158,11,.15);color:#fbbf24;border:1px solid rgba(245,158,11,.3)}
.admin-user-tag.user{background:rgba(120,120,140,.15);color:#a4b4c4;border:1px solid #2a2a35}
.admin-user-sub{font-size:12px;color:#7d7d95;margin-top:4px}
.admin-user-del{padding:8px 14px;background:transparent;border:1px solid #2a2a35;color:#a4b4c4;border-radius:6px;font-size:12px;font-weight:bold;cursor:pointer;font-family:inherit}
.admin-user-del:hover{border-color:#ef4444;color:#ef4444}

.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.admin-stat{background:#0d0a15;border:1px solid #1f1f2b;border-radius:8px;padding:12px 14px;text-align:center}
.admin-stat-label{font-size:11px;color:#7d7d95;margin-bottom:6px}
.admin-stat-val{font-size:20px;font-weight:900;color:#fff}
.admin-stat-val.gold{color:#fbbf24}
.admin-stat-val.green{color:#2ecc71}

.admin-actions{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.admin-action{padding:12px 8px;background:transparent;border:1px solid #2a2a35;color:#cbd5e1;border-radius:8px;font-size:12px;font-weight:bold;cursor:pointer;font-family:inherit;transition:.15s}
.admin-action:hover{background:#1a1f2e;color:#fff;border-color:#f59e0b}
.admin-action.minus{border-color:rgba(239,68,68,.3)}
.admin-action.minus:hover{border-color:#ef4444;color:#ef4444}
.admin-action.add{border-color:rgba(46,204,113,.3)}
.admin-action.add:hover{border-color:#2ecc71;color:#2ecc71}
.admin-action.dino{border-color:rgba(168,85,247,.3);grid-column:span 2}
.admin-action.dino:hover{border-color:#a855f7;color:#a855f7}

.admin-modal-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:99999;align-items:center;justify-content:center;padding:20px}
.admin-modal-mask.show{display:flex}
.admin-modal{background:#0d0a15;border:1px solid #2a2a35;border-radius:14px;width:100%;max-width:480px;padding:28px;color:#e8e2f5}
.admin-modal h3{font-size:20px;color:#fff;font-weight:900;margin-bottom:20px}
.admin-modal label{display:block;font-size:12px;color:#7d7d95;margin-bottom:6px;margin-top:14px;font-weight:bold}
.admin-modal input,.admin-modal select{width:100%;padding:12px 14px;background:#12101a;border:1px solid #2a2a35;color:#fff;font-size:14px;border-radius:8px;outline:none;font-family:inherit}
.admin-modal input:focus,.admin-modal select:focus{border-color:#f59e0b}
.admin-modal input:read-only{opacity:.7;cursor:not-allowed}
.admin-modal-btns{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}
.admin-modal-cancel{padding:12px 24px;background:#1a1f2e;color:#a4b4c4;border:1px solid #2a2a35;border-radius:8px;font-size:14px;font-weight:bold;cursor:pointer;font-family:inherit}
.admin-modal-cancel:hover{background:#2a2a35;color:#fff}
.admin-modal-confirm{padding:12px 28px;background:#f59e0b;color:#0d0a15;border:none;border-radius:8px;font-size:14px;font-weight:900;cursor:pointer;font-family:inherit}
.admin-modal-confirm:hover{background:#fbbf24}
.admin-modal-confirm.danger{background:#ef4444;color:#fff}
.admin-modal-confirm.danger:hover{background:#f87171}
/* ============ Steam 登录按钮 ============ */
.btn-steam-login{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 18px;
  margin:0 12px;
  background:linear-gradient(135deg,#1b2838,#2a475e);
  color:#fff;
  border:1px solid rgba(102,192,244,.6);
  border-radius:6px;
  font-size:13px;
  font-weight:bold;
  cursor:pointer;
  font-family:inherit;
  transition:.15s;
}
.btn-steam-login:hover{
  background:linear-gradient(135deg,#2a475e,#66c0f4);
  border-color:#66c0f4;
}