@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Share+Tech+Mono&display=swap";:root{--bg-primary:#0d1117;--bg-secondary:#0f1624;--bg-card:#141d2e;--bg-card-hover:#1a2540;--bg-sidebar:#0b1120;--bg-header:#0b1120;--bg-input:#1a2540;--border-color:#1e2d45;--border-glow:#2563eb;--text-primary:#f0f4ff;--text-secondary:#89b;--text-muted:#4a5f80;--accent-blue:#3b82f6;--accent-blue-hover:#2563eb;--accent-green:#22c55e;--accent-yellow:#f59e0b;--accent-red:#ef4444;--accent-pink:#ec4899;--accent-purple:#a855f7;--brand-purple:#8b5cf6;--accent-cyan:#06b6d4;--sidebar-width:280px;--header-height:80px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-card:0 4px 24px #0006;--shadow-glow:0 0 20px #3b82f626}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-layout{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border-color);z-index:10;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:relative}.sidebar-logo{height:var(--header-height);border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:20px 24px;display:flex}.sidebar-logo-img{object-fit:contain;flex-shrink:0;width:auto;height:44px}.logo-text{flex-direction:column;line-height:1.2;display:flex}.logo-label{color:var(--text-primary);letter-spacing:.5px;font-size:16px;font-weight:800}.logo-sublabel{color:var(--text-secondary);letter-spacing:1px;font-size:11px;font-weight:400}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:20px 16px;display:flex;overflow-y:auto}.nav-item{border-radius:var(--radius-md);cursor:pointer;color:#575e9c;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{background:var(--bg-card);color:#89b;border-color:var(--border-color)}.nav-item.active{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#3b82f680;box-shadow:0 4px 15px #2563eb66}.nav-item .nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.nav-icon-img{object-fit:contain;width:20px;height:20px}.nav-icon-inactive{filter:brightness(0)saturate()invert(36%)sepia(15%)saturate(1200%)hue-rotate(200deg)brightness(90%);opacity:.85}.nav-icon-active{filter:brightness(0)invert();opacity:1}.nav-icon-logout{filter:brightness(0)saturate()invert(40%)sepia(80%)saturate(500%)hue-rotate(310deg);opacity:.9}.nav-item.logout{color:#ec4899;margin-top:auto}.nav-item.logout:hover{color:var(--accent-red);background:#ef44441a;border-color:#ef44444d}.sidebar-footer{border-top:1px solid var(--border-color);padding:16px}.admin-profile{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);align-items:center;gap:12px;padding:12px;display:flex}.admin-avatar{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;display:flex}.admin-info .name{color:var(--text-primary);font-size:14px;font-weight:600}.admin-info .email{color:var(--text-secondary);margin-top:1px;font-size:11px}.main-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.header{height:var(--header-height);background:var(--bg-header);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 28px;display:flex}.header-title h1{color:var(--text-primary);font-size:22px;font-weight:700}.header-title p{color:var(--text-secondary);margin-top:2px;font-family:Share Tech Mono,monospace;font-size:12px}.header-right{align-items:center;gap:12px;display:flex}.header-btn{border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:8px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 15px #2563eb66}.btn-primary:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);transform:translateY(-1px);box-shadow:0 4px 20px #3b82f680}.btn-green{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 15px #16a34a66}.btn-green:hover{background:linear-gradient(135deg,#22c55e,#16a34a);transform:translateY(-1px)}.btn-red{color:#fff;background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 15px #dc262666}.btn-red:hover{background:linear-gradient(135deg,#ef4444,#dc2626);transform:translateY(-1px)}.btn-red-glow{color:#fff;background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 0 16px #ef444480,0 4px 15px #dc262666}.btn-red-glow:hover{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);transform:translateY(-1px);box-shadow:0 0 24px #ef4444b3,0 4px 20px #ef444480}.notif-btn{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;transition:all .2s;display:flex;position:relative}.notif-btn:hover{border-color:var(--accent-blue)}.notif-dot{border:2px solid var(--bg-card);background:#ef4444;border-radius:50%;width:10px;height:10px;animation:2s infinite pulse-dot;position:absolute;top:6px;right:6px}@keyframes pulse-dot{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.admin-badge{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;padding:8px 14px;transition:all .2s;display:flex}.admin-badge:hover{border-color:var(--accent-blue)}.admin-badge .name{color:var(--text-primary);font-size:14px;font-weight:600}.admin-badge .role{color:var(--accent-blue);font-size:11px}.page-content{background:var(--bg-secondary);flex:1;padding:24px 28px;overflow-y:auto}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:default;flex-direction:column;gap:10px;padding:20px 22px;transition:all .3s;display:flex}.stat-card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.stat-card-top{justify-content:space-between;align-items:center;display:flex}.stat-label{color:var(--text-secondary);letter-spacing:1px;text-transform:uppercase;font-size:11px;font-weight:700}.stat-icon{border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex;position:relative}.stat-icon svg{display:block}.stat-icon.blue{border-color:var(--accent-blue);background:#3b82f61a;box-shadow:0 0 12px #3b82f666}.stat-icon.yellow{border-color:var(--accent-yellow);background:#f59e0b1a;box-shadow:0 0 12px #f59e0b66}.stat-icon.red{border-color:var(--accent-red);background:#ef44441a;box-shadow:0 0 12px #ef444466}.stat-icon.green{border-color:var(--accent-green);background:#22c55e1a;box-shadow:0 0 12px #22c55e66}.stat-icon.pink{border-color:var(--accent-pink);background:#ec48991a;box-shadow:0 0 12px #ec489966}.stat-icon.cyan{border-color:var(--accent-cyan);background:#06b6d41a;box-shadow:0 0 12px #06b6d466}.stat-icon.purple{border-color:var(--accent-purple);background:#a855f71a;box-shadow:0 0 12px #a855f766}.stat-icon.orange{background:#ff66001a;border-color:#f60;box-shadow:0 0 12px #f606}.stat-icon-img{object-fit:contain;width:22px;height:22px}.stat-value{color:var(--text-primary);font-family:Share Tech Mono,monospace;font-size:32px;font-weight:800;line-height:1}.stat-sub{font-size:12px;font-weight:500}.stat-sub.green{color:var(--accent-green)}.stat-sub.yellow{color:var(--accent-yellow)}.stat-sub.red{color:var(--accent-red)}.stat-sub.blue{color:var(--accent-blue)}.stat-sub.orange{color:#f60}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:22px}.card-title{color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:700}.card-subtitle{color:var(--text-secondary);margin-bottom:16px;font-size:12px}.chart-row{grid-template-columns:1fr 380px;gap:16px;margin-bottom:24px;display:grid}.period-btns{gap:8px;display:flex}.period-btn{cursor:pointer;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-secondary);border-radius:20px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s}.period-btn.active,.period-btn:hover{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.chart-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.chart-svg-wrap{width:100%;height:200px;margin-top:8px}.dungeon-bar-item{align-items:center;gap:10px;margin-bottom:12px;display:flex}.dungeon-bar-label{color:var(--text-primary);flex-shrink:0;width:130px;font-size:13px;font-weight:600}.dungeon-bar-track{background:var(--bg-input);border-radius:4px;flex:1;height:8px;overflow:hidden}.dungeon-bar-fill{border-radius:4px;height:100%;transition:width .6s}.dungeon-bar-val{color:var(--text-secondary);text-align:right;flex-shrink:0;width:36px;font-size:12px}.activity-item{border-bottom:1px solid var(--border-color);align-items:center;gap:14px;padding:14px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.activity-text{color:var(--text-secondary);flex:1;font-size:13px}.activity-text strong{color:var(--text-primary);font-weight:600}.activity-time{color:var(--text-muted);font-family:Share Tech Mono,monospace;font-size:12px}.table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table thead tr{border-bottom:1px solid var(--border-color);background:#ffffff08}.data-table th{text-align:left;letter-spacing:1px;color:var(--text-secondary);text-transform:uppercase;padding:14px 18px;font-size:11px;font-weight:700}.data-table td{color:var(--text-primary);border-bottom:1px solid #1e2d4580;padding:13px 18px;font-size:13px}.data-table tbody tr{transition:background .2s}.data-table tbody tr:hover{background:#ffffff08}.data-table tbody tr:last-child td{border-bottom:none}.badge{border:none;border-radius:0;justify-content:center;align-items:center;padding:0;font-size:0;display:inline-flex}.badge img{object-fit:contain;width:auto;height:22px}.badge-text{letter-spacing:.5px;border:2px solid;border-radius:20px;justify-content:center;align-items:center;padding:4px 12px;font-size:11px;font-weight:700;display:inline-flex}.badge-easy{color:var(--accent-green);border-color:var(--accent-green);background:#22c55e1a}.badge-medium{color:var(--accent-yellow);border-color:var(--accent-yellow);background:#f59e0b1a}.badge-hard{color:var(--accent-red);border-color:var(--accent-red);background:#ef44441a}.status-badge{background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.status-badge img{object-fit:contain;width:auto;height:22px}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.action-btns{align-items:center;gap:6px;display:flex}.action-btn{cursor:pointer;background:0 0;border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:13px;transition:all .2s;display:flex;overflow:hidden}.action-btn img{object-fit:contain;width:16px;height:16px}.action-btn.view{border-color:var(--accent-blue)}.action-btn.view:hover{background:#3b82f626}.action-btn.edit{border-color:#3b82f666}.action-btn.edit:hover{background:#3b82f626}.action-btn.delete{border-color:#ef444466}.action-btn.delete:hover{background:#ef444426}.action-btn.more{border-color:var(--border-color)}.action-btn.more:hover{background:var(--bg-input)}.table-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.table-info{color:var(--text-secondary);font-size:12px}.table-info strong{color:var(--text-primary)}.pagination{align-items:center;gap:4px;display:flex}.page-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border-color);background:var(--bg-input);width:30px;height:30px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:12px;transition:all .2s;display:flex}.page-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.page-btn:hover:not(.active){border-color:var(--accent-blue);color:var(--text-primary)}.filter-bar{align-items:center;gap:12px;margin-bottom:20px;display:flex}.search-input-wrap{flex:1;position:relative}.search-icon{pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-icon img{object-fit:contain;filter:brightness(0)invert(.35);width:100%;height:100%}.search-input{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);outline:none;padding:10px 14px 10px 36px;font-family:Inter,sans-serif;font-size:13px;transition:border-color .2s}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--accent-blue)}.filter-select-wrap{align-items:center;display:flex;position:relative}.filter-icon{color:var(--text-muted);pointer-events:none;font-size:14px;position:absolute;left:12px}.filter-select{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;appearance:none;outline:none;min-width:160px;padding:10px 36px;font-family:Inter,sans-serif;font-size:13px;transition:border-color .2s}.filter-select:focus{border-color:var(--accent-blue)}.dropdown-arrow{color:var(--text-muted);pointer-events:none;font-size:12px;position:absolute;right:10px}.dungeon-layout{grid-template-columns:340px 1fr;gap:20px;height:100%;display:grid}.realm-list{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:16px;display:flex;overflow-y:auto}.dungeon-card{border-radius:var(--radius-md);cursor:pointer;border:2px solid #0000;flex-shrink:0;transition:all .3s;position:relative;overflow:hidden}.dungeon-card-bg{align-items:flex-end;height:100px;padding:12px;display:flex}.dungeon-card-name{color:#fff;font-family:Share Tech Mono,monospace;font-size:16px;font-weight:700}.dungeon-card-tags{gap:6px;display:flex}.dungeon-tag{color:#fffc;background:#ffffff26;border:1px solid #fff3;border-radius:4px;padding:2px 8px;font-size:10px}.dungeon-editor{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;overflow-y:auto}.editor-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.editor-label{letter-spacing:1px;color:var(--text-secondary);text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.editor-title{color:var(--text-primary);font-family:Share Tech Mono,monospace;font-size:26px;font-weight:800}.btn-outline{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border-color);color:var(--text-primary);background:0 0;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s}.btn-outline:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.boss-section{grid-template-columns:220px 1fr;gap:24px;margin-bottom:24px;display:grid}.boss-upload{border:2px dashed var(--border-color);border-radius:var(--radius-lg);cursor:pointer;background:var(--bg-input);flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:200px;transition:all .2s;display:flex}.boss-upload:hover{border-color:var(--accent-blue);background:#3b82f60d}.boss-upload .monster-icon{filter:drop-shadow(0 0 20px #ef444499);font-size:64px}.boss-upload .monster-img{object-fit:contain;filter:drop-shadow(0 0 20px #ef444499);width:100px;height:100px}.boss-upload .upload-text{color:var(--text-secondary);font-size:12px}.form-section{flex-direction:column;gap:16px;display:flex}.form-field-label{letter-spacing:1px;color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.form-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);outline:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:13px;transition:border-color .2s}.form-input:focus{border-color:var(--accent-blue)}.form-select{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);appearance:none;cursor:pointer;outline:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:13px;transition:border-color .2s}.form-select:focus{border-color:var(--accent-blue)}.form-select option{background:var(--bg-card);color:var(--text-primary)}.form-input-icon{position:relative}.form-input-icon .form-input{padding-right:36px}.input-icon{pointer-events:none;font-size:16px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.quiz-tags-section{margin-top:8px}.tags-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.tag-item{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;padding:11px 14px;transition:all .2s;display:flex}.tag-item:hover{border-color:var(--accent-blue)}.tag-item.checked{border-color:var(--accent-blue);background:#3b82f614}.tag-checkbox{border:2px solid var(--border-color);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;transition:all .2s;display:flex}.tag-item.checked .tag-checkbox{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.tag-name{color:var(--text-primary);flex:1;font-size:13px}.tag-count{color:var(--text-muted);font-family:Share Tech Mono,monospace;font-size:11px}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#000000b3;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.ai-modal{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:#131c2e;flex-direction:column;width:1200px;max-width:96vw;min-height:600px;max-height:92vh;animation:.3s slideUp;display:flex;overflow:hidden;box-shadow:0 25px 80px #0009}.ai-modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.ai-modal-title-row{align-items:center;gap:16px;display:flex}.ai-logo-icon{background:linear-gradient(135deg,#7c3aed,#ec4899);border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.ai-modal-title{color:var(--text-primary);font-family:Share Tech Mono,monospace;font-size:20px;font-weight:800}.ai-modal-sub{color:var(--text-secondary);margin-top:2px;font-family:Share Tech Mono,monospace;font-size:11px}.modal-close{border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex}.modal-close:hover{border-color:var(--accent-red);color:var(--accent-red);background:#ef44441a}.ai-modal-body{flex:1;grid-template-columns:340px 1fr;display:grid;overflow:hidden}.ai-form-panel{border-right:1px solid var(--border-color);flex-direction:column;gap:20px;padding:24px;display:flex;overflow-y:auto}.ai-field-label{letter-spacing:1.5px;color:var(--text-secondary);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.ai-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);outline:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:13px;transition:border-color .2s}.ai-input:focus{border-color:var(--accent-blue)}.ai-select{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234a5f80' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;outline:none;padding:10px 36px 10px 14px;font-family:Inter,sans-serif;font-size:13px;transition:border-color .2s}.ai-select:focus{border-color:var(--accent-blue)}.ai-select option{color:var(--text-primary);background:#1a2540}.ai-textarea{resize:vertical;min-height:100px}.slider-wrap{padding:4px 0}.count-slider{-webkit-appearance:none;cursor:pointer;border-radius:4px;outline:none;width:100%;height:4px}.count-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#ec4899;border:3px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 8px #ec489980}.slider-labels{color:var(--text-muted);justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.run-btn{border-radius:var(--radius-md);color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#7c3aed);border:none;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:auto;padding:13px;font-family:Share Tech Mono,monospace;font-size:14px;font-weight:700;transition:all .3s;display:flex;box-shadow:0 4px 20px #7c3aed66}.run-btn:hover{background:linear-gradient(135deg,#3b82f6,#8b5cf6);transform:translateY(-1px);box-shadow:0 6px 25px #7c3aed99}.ai-preview-panel{background:#0d1117;flex-direction:column;display:flex;overflow:hidden}.preview-header{border-bottom:1px solid var(--border-color);background:#161b22;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.preview-dots{align-items:center;gap:6px;display:flex}.preview-dot{border-radius:50%;width:12px;height:12px}.preview-dot.red{background:#ff5f57}.preview-dot.yellow{background:#febc2e}.preview-dot.green{background:#28c840}.preview-filename{color:var(--text-secondary);margin-left:15px;font-family:Share Tech Mono,monospace;font-size:12px}.preview-status{color:var(--accent-green);font-family:Share Tech Mono,monospace;font-size:11px;font-weight:700}.preview-status:before{content:"• "}.json-code{white-space:pre;flex:1;padding:16px;font-family:Share Tech Mono,monospace;font-size:12px;line-height:1.7;overflow-y:auto}.json-code .json-key{color:#79c0ff}.json-code .json-str{color:#a5d6ff}.json-code .json-num{color:#f2cc60}.json-code .json-bool{color:#ff7b72}.json-code .json-bracket{color:#e6edf3}.preview-footer{border-top:1px solid var(--border-color);background:#161b22;flex-shrink:0;gap:10px;padding:14px 16px;display:flex}.preview-footer .btn-regen{border-radius:var(--radius-md);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:0 0;flex:1;padding:10px;font-family:Share Tech Mono,monospace;font-size:13px;font-weight:600;transition:all .2s}.preview-footer .btn-regen:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.preview-footer .btn-save{border-radius:var(--radius-md);color:#fff;cursor:pointer;background:linear-gradient(135deg,#16a34a,#15803d);border:none;flex:2;justify-content:center;align-items:center;gap:6px;padding:10px;font-family:Share Tech Mono,monospace;font-size:13px;font-weight:700;transition:all .2s;display:flex}.preview-footer .btn-save:hover{background:linear-gradient(135deg,#22c55e,#16a34a);transform:translateY(-1px)}.json-editor{color:#e2e8f0;resize:none;tab-size:2;white-space:pre;caret-color:#a78bfa;background:0 0;border:none;outline:none;flex:1;width:100%;padding:16px;font-family:Share Tech Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.7;overflow:auto}.json-editor:focus{box-shadow:inset 0 0 0 1px #7c3aed40}.json-editor::selection{background:#7c3aed4d}.json-editor::-webkit-scrollbar{width:6px;height:6px}.json-editor::-webkit-scrollbar-track{background:0 0}.json-editor::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.json-editor::-webkit-scrollbar-thumb:hover{background:#fff3}.manual-modal{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:#131c2e;flex-direction:column;width:920px;max-width:96vw;max-height:92vh;animation:.3s slideUp;display:flex;overflow:hidden;box-shadow:0 25px 80px #0009}.manual-modal-body{flex:1;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.manual-left-panel{border-right:1px solid var(--border-color);flex-direction:column;gap:20px;padding:24px;display:flex;overflow-y:auto}.manual-right-panel{flex-direction:column;gap:0;padding:24px;display:flex;overflow-y:auto}.question-block{border-bottom:1px solid var(--border-color);margin-bottom:20px;padding-bottom:20px}.question-block:last-of-type{border-bottom:none;margin-bottom:0}.question-block-title{letter-spacing:1.5px;color:var(--text-secondary);text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:700}.question-row{grid-template-columns:1fr auto;align-items:start;gap:10px;margin-bottom:12px;display:grid}.question-textarea{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);resize:none;outline:none;min-height:70px;padding:10px 14px;font-family:Inter,sans-serif;font-size:13px;transition:border-color .2s}.question-textarea:focus{border-color:var(--accent-blue)}.choices-col{flex-direction:column;flex:none;gap:6px;width:210px;display:flex}.choice-row{align-items:center;gap:8px;display:flex}.choice-label{color:var(--text-secondary);flex-shrink:0;width:14px;font-size:12px;font-weight:700}.choice-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;flex:1;padding:7px 10px;font-family:Inter,sans-serif;font-size:12px;transition:border-color .2s}.choice-input:focus{border-color:var(--accent-blue)}.explanation-row{grid-template-columns:1fr auto;align-items:start;gap:10px;display:grid}.explanation-label{letter-spacing:1px;color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.correct-answer-col{width:210px}.correct-answer-title{letter-spacing:1px;color:var(--text-secondary);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.radio-group{flex-wrap:wrap;gap:16px;display:flex}.radio-option{cursor:pointer;color:var(--text-primary);align-items:center;gap:6px;font-size:13px;display:flex}.radio-option input[type=radio]{accent-color:var(--accent-blue);cursor:pointer;width:15px;height:15px}.add-more-btn{border-radius:var(--radius-md);border:2px dashed var(--border-color);width:100%;color:var(--text-secondary);cursor:pointer;text-align:center;background:0 0;margin-top:8px;padding:13px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .2s}.add-more-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#3b82f60d}.add-more-btn:disabled{opacity:.4;cursor:not-allowed}.add-more-btn:disabled:hover{border-color:var(--border-color);color:var(--text-secondary);background:0 0}.save-db-btn{border-radius:var(--radius-md);color:#fff;cursor:pointer;background:linear-gradient(135deg,#16a34a,#15803d);border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px;font-family:Share Tech Mono,monospace;font-size:14px;font-weight:700;transition:all .2s;display:flex}.save-db-btn:hover{background:linear-gradient(135deg,#22c55e,#16a34a);transform:translateY(-1px)}.streak-col{align-items:center;gap:6px;display:flex}.fire-icon{object-fit:contain;width:18px;height:18px}.btn-add-manual{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.btn-add-manual:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.btn-ai-generate{border-radius:var(--radius-md);cursor:pointer;color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);border:none;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 15px #7c3aed66}.btn-ai-generate:hover{background:linear-gradient(135deg,#3b82f6,#8b5cf6);transform:translateY(-1px);box-shadow:0 4px 20px #7c3aed99}.id-mono{color:var(--text-secondary);font-family:Share Tech Mono,monospace;font-size:13px}.app-loading{background:var(--bg-primary);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.app-loading-spinner{border:3px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-bg{background:radial-gradient(ellipse 80% 60% at 20% 50%, #2563eb1f 0%, transparent 60%), radial-gradient(ellipse 60% 60% at 80% 50%, #a855f714 0%, transparent 60%), var(--bg-primary);justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;overflow:auto}.auth-card{background:#111827;border:1px solid #1e2d45;border-radius:20px;flex-direction:column;align-items:center;gap:0;width:100%;max-width:500px;padding:44px 48px;animation:.4s authFadeIn;display:flex;box-shadow:0 24px 80px #00000080}@keyframes authFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-logo{align-items:center;gap:4px;margin-bottom:12px;display:flex}.auth-logo-icon{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:26px;font-weight:900;display:flex;box-shadow:0 4px 16px #2563eb66}.logo-q{font-family:Inter,sans-serif;font-weight:900}.auth-logo-text{flex-flow:wrap;align-items:flex-start;gap:0;font-size:32px;font-weight:800;line-height:1;display:flex;position:relative}.logo-u{color:#3b82f6}.logo-i{color:#f59e0b}.logo-z{color:#ec4899}.logo-spark{color:#f59e0b;font-size:14px;position:relative;top:-8px;left:-2px}.logo-realm{width:100%;color:var(--text-primary);text-align:left;letter-spacing:.5px;margin-top:2px;font-size:16px;font-weight:700}.auth-tagline{color:var(--text-secondary);text-align:center;letter-spacing:.2px;margin-bottom:28px;font-size:14px;font-weight:600}.auth-form{flex-direction:column;gap:16px;width:100%;display:flex}.auth-field{flex-direction:column;gap:8px;display:flex}.auth-label{letter-spacing:1px;color:var(--text-secondary);text-transform:uppercase;font-size:11px;font-weight:700}.auth-input{color:var(--text-primary);background:#0d1525;border:1px solid #1e2d45;border-radius:10px;outline:none;padding:14px 16px;font-family:Inter,sans-serif;font-size:15px;transition:border-color .2s,box-shadow .2s}.auth-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f626}.auth-error{color:#f87171;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;padding:10px 14px;font-size:13px}.auth-btn{letter-spacing:1.5px;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:12px;width:100%;margin-top:4px;padding:15px;font-family:Inter,sans-serif;font-size:16px;font-weight:800;transition:transform .15s,box-shadow .15s,filter .15s;display:flex}.auth-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px)}.auth-btn:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn-blue{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 20px #3b82f659}.auth-btn-green{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 20px #22c55e59}.auth-btn-orange{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 20px #f59e0b59}.auth-btn-icon{opacity:.9;font-size:12px}.auth-btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.auth-footer{justify-content:space-between;align-items:center;width:100%;margin-top:20px;display:flex}.auth-footer-center{justify-content:center}.auth-footer-text{color:var(--text-secondary);font-size:13px}.auth-link{cursor:pointer;background:0 0;border:none;padding:0;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:opacity .15s}.auth-link:hover{opacity:.75}.auth-link.green{color:#22c55e}.auth-link.yellow{color:#f59e0b}.auth-link.blue{color:#3b82f6}.auth-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:8px 0;display:flex}.auth-success-icon{color:#22c55e;background:#22c55e26;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:28px;display:flex}.auth-success-title{color:var(--text-primary);font-size:22px;font-weight:800}.auth-success-sub{color:var(--text-secondary);margin-bottom:8px;font-size:14px;line-height:1.6}.skeleton{background:linear-gradient(90deg,#1a2540 25%,#1e2d45 50%,#1a2540 75%) 0 0/200% 100%;border-radius:6px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row td{padding:14px 16px}.skeleton-cell{border-radius:4px;height:16px}.dungeon-layout{grid-template-columns:320px 1fr;gap:24px;display:grid;overflow:hidden}.realm-list{flex-direction:column;gap:10px;max-height:calc(100vh - 180px);padding-right:4px;display:flex;overflow-y:auto}.dungeon-card{border-radius:var(--radius-md);cursor:pointer;border:2px solid #0000;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.dungeon-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0006}.dungeon-card.selected{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f633}.dungeon-card-bg{min-height:80px;padding:16px}.dungeon-card-info{flex-direction:column;gap:8px;display:flex}.dungeon-card-name{color:#fff;text-shadow:0 1px 4px #00000080;font-size:15px;font-weight:700}.dungeon-card-tags{flex-wrap:wrap;gap:6px;display:flex}.dungeon-tag{color:#ffffffd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:1px solid #fff3;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.selected-badge{background:var(--accent-blue);color:#fff;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:800;position:absolute;top:8px;right:8px}.dungeon-editor{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);max-height:calc(100vh - 180px);padding:24px;overflow-y:auto}.editor-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.editor-label{color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.editor-actions{align-items:center;gap:10px;display:flex}.boss-section{align-items:flex-start;gap:24px;margin-bottom:8px;display:flex}.boss-upload{border:2px dashed var(--border-color);border-radius:var(--radius-md);cursor:pointer;background:var(--bg-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;width:160px;min-width:160px;height:160px;transition:border-color .2s;display:flex;overflow:hidden}.boss-upload:hover{border-color:var(--accent-blue)}.monster-img{object-fit:contain;filter:drop-shadow(0 0 12px #ef444480);width:90px;height:90px}.upload-text{color:var(--text-muted);letter-spacing:.5px;font-size:11px;font-weight:600}.form-section{flex-direction:column;flex:1;gap:14px;display:flex}.form-field-label{color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.form-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:10px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s}.form-input:focus{border-color:var(--accent-blue);outline:none}.form-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tags-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tag-checkbox-row{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:10px 14px;transition:all .15s;display:flex}.tag-checkbox-row:hover{border-color:var(--accent-blue);background:#3b82f60d}.tag-checkbox-row.tag-checked{border-color:var(--accent-blue);background:#3b82f61a}.tag-checkbox{border:2px solid var(--border-color);background:var(--bg-card);color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;transition:all .15s;display:flex}.tag-checkbox-row.tag-checked .tag-checkbox{background:var(--accent-blue);border-color:var(--accent-blue)}.tag-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.tag-qs-count{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(10px);background:#070c16b8;justify-content:center;align-items:center;animation:.2s overlayFadeIn;display:flex;position:fixed;inset:0}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-box{border-radius:var(--radius-xl);background:linear-gradient(145deg,#141d2e,#0f1624);border:1px solid #3b82f640;width:480px;max-width:calc(100vw - 40px);padding:32px;animation:.25s cubic-bezier(.34,1.56,.64,1) modalSlideIn;position:relative;box-shadow:0 24px 80px #000000b3,0 0 0 1px #3b82f614,0 0 40px #3b82f60f}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{align-items:center;gap:14px;margin-bottom:28px;display:flex}.modal-header-icon{background:#3b82f626;border:1px solid #3b82f64d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 0 16px #3b82f64d}.modal-header-icon img{object-fit:contain;width:22px;height:22px}.modal-title{color:var(--text-primary);letter-spacing:-.3px;font-size:18px;font-weight:700}.modal-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.modal-close-btn{border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex;position:absolute;top:18px;right:18px}.modal-close-btn:hover{color:var(--accent-red);background:#ef44441f;border-color:#ef444459}.modal-divider{background:linear-gradient(to right, transparent, var(--border-color), transparent);height:1px;margin-bottom:24px}.modal-field{margin-bottom:18px}.modal-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.modal-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:11px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .15s,box-shadow .15s}.modal-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f61f}.modal-input::placeholder{color:var(--text-muted)}.modal-input:disabled{opacity:.5;cursor:not-allowed}.modal-input-wrap{position:relative}.modal-input-wrap .eye-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px;font-size:16px;line-height:1;transition:color .15s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.modal-input-wrap .eye-btn:hover{color:var(--text-secondary)}.modal-input-wrap .modal-input{padding-right:40px}.modal-actions{gap:12px;margin-top:28px;display:flex}.modal-btn-cancel{border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;flex:1;padding:11px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.modal-btn-cancel:hover{border-color:var(--text-muted);color:var(--text-primary);background:#ffffff0a}.modal-btn-save{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;flex:2;justify-content:center;align-items:center;gap:8px;padding:11px;font-family:Inter,sans-serif;font-size:14px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 16px #3b82f64d}.modal-btn-save:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 20px #3b82f673}.modal-btn-save:disabled{opacity:.55;cursor:not-allowed;transform:none}.modal-btn-save .spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}.modal-success-msg{border-radius:var(--radius-sm);color:var(--accent-green);background:#22c55e1a;border:1px solid #22c55e40;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;font-size:13px;font-weight:600;animation:.2s fadeInUp;display:flex}.modal-error-msg{border-radius:var(--radius-sm);color:var(--accent-red);background:#ef44441a;border:1px solid #ef444440;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;font-size:13px;font-weight:600;animation:.2s fadeInUp;display:flex}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.toggle-switch{border:1px solid var(--border-color);background:var(--bg-input);cursor:pointer;border-radius:999px;flex-shrink:0;width:42px;height:24px;padding:0;transition:all .2s;position:relative}.toggle-switch.on{background:linear-gradient(135deg,#16a34a,#15803d);border-color:#16a34a}.toggle-switch:disabled{opacity:.5;cursor:not-allowed}.toggle-knob{background:#cbd5e1;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0006}.toggle-switch.on .toggle-knob{background:#fff;left:20px}.thumb-img{object-fit:cover;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;flex-shrink:0;width:40px;height:40px}.thumb-placeholder{background:var(--bg-input);border:1px solid var(--border-color);opacity:.5;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;display:flex}.pill{letter-spacing:.5px;white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.pill-common{color:#94a3b8;background:#94a3b826;border:1px solid #94a3b859}.pill-rare{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f666}.pill-epic{color:#a855f7;background:#a855f726;border:1px solid #a855f766}.pill-legendary{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b66}.pill-active{color:#22c55e;background:#22c55e26;border:1px solid #22c55e66}.pill-inactive{color:#94a3b8;background:#64748b26;border:1px solid #64748b4d}.pill-neutral{color:#93c5fd;background:#3b82f61f;border:1px solid #3b82f64d}.price-tag{color:var(--text-secondary);align-items:center;gap:10px;font-family:Share Tech Mono,monospace;font-size:12px;display:flex}.price-tag span.coin{color:#f59e0b;font-weight:700}.price-tag span.gem{color:#06b6d4;font-weight:700}.price-free{color:var(--accent-green);font-size:12px;font-weight:700}.row-actions{align-items:center;gap:14px;display:flex}.row-action-btn{cursor:pointer;opacity:.75;background:0 0;border:none;padding:0;font-size:16px;line-height:1;transition:opacity .15s,transform .15s}.row-action-btn:hover{opacity:1;transform:scale(1.1)}.row-action-btn.danger:hover{filter:drop-shadow(0 0 4px #ef444499)}.empty-state-row td{text-align:center;color:var(--text-muted);padding:40px 20px!important}select.modal-input{appearance:none;cursor:pointer;background-image:none}.nav-icon-emoji{opacity:.85;font-size:18px;line-height:1}.nav-item.active .nav-icon-emoji{opacity:1;filter:brightness(0)invert()}.nav-icon-svg{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.img-url-preview{border-radius:var(--radius-sm);border:1px dashed var(--border-color);background:var(--bg-input);justify-content:center;align-items:center;width:100%;height:120px;margin-top:8px;display:flex;overflow:hidden}.img-url-preview img{object-fit:contain;width:100%;height:100%}.img-url-preview .placeholder-txt{color:var(--text-muted);font-size:12px}.modal-box-wide{width:560px}.rg-card{--rg-wash:#a855f72e;--rg-border:#a855f76b;--rg-solid:#a855f7;--rg-glow:#a855f752;--rg-soft:#a855f724;background:var(--bg-card);border:2px solid var(--rg-border);border-radius:var(--radius-lg);cursor:pointer;padding:16px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.rg-card:before{content:"";background:linear-gradient(135deg, var(--rg-wash), transparent 65%);pointer-events:none;position:absolute;inset:0}.rg-card:hover{border-color:var(--rg-solid);box-shadow:0 8px 24px #0006, 0 0 20px var(--rg-glow);transform:translateY(-3px)}.rg-card.selected{border-color:var(--accent-blue)!important;box-shadow:0 0 0 3px #3b82f633!important}.rg-card.selected:before{background:linear-gradient(135deg, var(--rg-wash), transparent 65%)}.rg-top{z-index:1;align-items:center;gap:12px;margin-bottom:12px;display:flex;position:relative}.rg-icon{background:var(--rg-soft);border:2px solid var(--rg-border);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.rg-icon img{object-fit:contain;width:32px;height:32px}.rg-icon-glyph{background-color:var(--rg-solid);width:32px;height:32px;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.rg-title-area{flex:1;min-width:0}.rg-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:1.05rem;font-weight:800;overflow:hidden}.rg-subtitle{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.rg-monster-preview{border-radius:var(--radius-md);border:1px solid var(--border-color);z-index:1;background:#0000004d;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex;position:relative}.rg-monster-img{object-fit:contain;border-radius:var(--radius-sm);width:40px;height:40px}.rg-monster-name{color:var(--text-secondary);font-size:.8rem;font-weight:700}.rg-diff-dots{z-index:1;gap:6px;margin-bottom:10px;display:flex;position:relative}.rg-dot{opacity:.4;border-radius:50%;width:10px;height:10px;transition:all .2s}.rg-dot.lit{opacity:1;box-shadow:0 0 8px}.rg-dot.green{color:#22c55e;background:#22c55e}.rg-dot.orange{color:#f59e0b;background:#f59e0b}.rg-dot.red{color:#ef4444;background:#ef4444}.rg-bottom{border-top:1px solid var(--border-color);z-index:1;justify-content:space-between;align-items:center;padding-top:10px;display:flex;position:relative}.rg-count{color:var(--text-secondary);align-items:center;gap:4px;font-size:.75rem;font-weight:700;display:flex}.rg-hint{color:var(--text-muted);font-size:.7rem;font-weight:600}.stats-grid-5{grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px;display:grid}@media (width<=1350px){.stats-grid-5{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}@keyframes pulseLiveGlow{0%{transform:scale(.95);box-shadow:0 0 #22c55eb3}70%{transform:scale(1.15);box-shadow:0 0 0 6px #22c55e00}to{transform:scale(.95);box-shadow:0 0 #22c55e00}}.live-pulse-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulseLiveGlow;display:inline-block}.chart-controls-wrap{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.metric-switcher{background:var(--bg-input);border:1px solid var(--border-color);border-radius:24px;gap:4px;padding:3px;display:flex}.metric-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:20px;align-items:center;gap:6px;padding:5px 14px;font-size:12px;font-weight:600;transition:all .25s;display:flex}.metric-btn.active.registers{color:#fff;background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 2px 10px #3b82f666}.metric-btn.active.online{color:#fff;background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 2px 10px #10b98166}.metric-btn:hover:not(.active){color:var(--text-primary);background:#ffffff0d}.chart-interactive-container{-webkit-user-select:none;user-select:none;width:100%;height:200px;margin-top:8px;position:relative}.chart-tooltip-box{pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);color:var(--text-primary);white-space:nowrap;z-index:20;background:#0f172af2;border-radius:8px;padding:6px 12px;font-size:12px;transition:transform 50ms ease-out;position:absolute;transform:translate(-50%,-115%);box-shadow:0 8px 24px #00000080}.chart-tooltip-date{color:var(--text-secondary);margin-bottom:2px;font-size:10.5px}.chart-tooltip-value{align-items:center;gap:5px;font-size:13px;font-weight:700;display:flex}.chart-axis-labels{color:var(--text-muted);justify-content:space-between;padding:6px 4px 0;font-size:11px;display:flex}.access-logs-card{margin-top:24px}.access-logs-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.access-logs-filters{align-items:center;gap:8px;display:flex}.access-filter-btn{border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;border-radius:16px;padding:5px 12px;font-size:11.5px;font-weight:600;transition:all .2s}.access-filter-btn.active,.access-filter-btn:hover{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.status-pill-online{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d;border-radius:12px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.status-pill-offline{color:#94a3b8;background:#94a3b81f;border:1px solid #94a3b840;border-radius:12px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.chat-stream-msg{border-radius:8px;align-items:flex-start;gap:12px;padding:8px 12px;transition:all .15s;display:flex;position:relative}.chat-stream-msg:hover{background:#ffffff0a}.chat-stream-msg:hover .msg-del-btn{visibility:visible;opacity:1!important}.msg-del-btn{opacity:0;transition:opacity .15s}.review-comment-card{word-break:break-word;line-height:1.6}.star-rating-display{align-items:center;gap:2px;display:inline-flex}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:3s ease-in-out infinite float}.profile-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(10px);background:#04060ed1;justify-content:center;align-items:center;padding:16px;animation:.22s cubic-bezier(.16,1,.3,1) modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.profile-modal-container{background:linear-gradient(175deg,#161226 0%,#0d0e1a 60%,#090a12 100%);border:1px solid #a855f752;border-radius:16px;flex-direction:column;width:100%;max-width:720px;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) modalSlideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 60px #000000d9,0 0 50px #a855f726}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.profile-modal-header-ribbon{background:#ffffff05;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:12px 18px 10px;display:flex}.profile-modal-header-tag{letter-spacing:1.5px;color:var(--brand-purple);text-transform:uppercase;align-items:center;gap:6px;font-size:.72rem;font-weight:800;display:inline-flex}.profile-modal-close-btn{color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.profile-modal-close-btn:hover{color:#fff;background:#ef444433;border-color:#ef444466;transform:rotate(90deg)}.profile-hero-banner{background:radial-gradient(at 0 0,#a855f726 0%,#0000 70%);border-bottom:1px solid #ffffff12;align-items:center;gap:18px;padding:18px 22px;display:flex}.profile-hero-avatar-area{flex-shrink:0;position:relative}.profile-hero-avatar-frame{background:#111424;border:2px solid #a855f780;border-radius:14px;justify-content:center;align-items:center;width:72px;height:72px;display:flex;overflow:hidden;box-shadow:0 0 20px #a855f759}.profile-hero-avatar-img{object-fit:cover;width:100%;height:100%}.profile-hero-avatar-fallback{color:var(--text-muted)}.profile-hero-level-crest{color:#000;background:linear-gradient(135deg,#f59e0b,#d97706);border:2px solid #161226;border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:900;position:absolute;bottom:-6px;right:-6px;box-shadow:0 2px 8px #0009}.profile-hero-info{flex:1;min-width:0}.profile-hero-name-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.profile-hero-name{color:#fff;letter-spacing:.5px;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.35rem;font-weight:800;overflow:hidden}.profile-hero-me-badge{color:#38bdf8;letter-spacing:.5px;background:#38bdf826;border:1px solid #38bdf859;border-radius:6px;padding:2px 7px;font-size:.68rem;font-weight:800}.profile-hero-role-badge{color:#c084fc;background:#c084fc1f;border:1px solid #c084fc40;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.profile-hero-subtitle{color:var(--text-muted);align-items:center;gap:8px;font-size:.8rem;display:flex}.profile-bullet{color:#fff3}.profile-friend-actions{align-items:center;gap:6px;margin-left:8px;display:inline-flex}.profile-action-btn{cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:700;transition:all .18s;display:inline-flex}.btn-action-add{color:#60a5fa;background:#3b82f633;border:1px solid #3b82f666}.btn-action-add:hover:not(:disabled){background:#3b82f659;transform:scale(1.03)}.btn-action-dm{color:#c084fc;background:#a855f733;border:1px solid #a855f766}.btn-action-dm:hover{background:#a855f759;transform:scale(1.03)}.btn-action-accept{color:#4ade80;background:#22c55e33;border:1px solid #22c55e66}.btn-action-accept:hover:not(:disabled){background:#22c55e59;transform:scale(1.03)}.profile-friend-badge-pending{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.profile-modal-tabs{background:#0a0b1499;border-bottom:1px solid #ffffff0f;gap:4px;padding:8px 18px;display:flex}.profile-modal-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;font-weight:700;transition:all .2s;display:inline-flex}.profile-modal-tab:hover{color:#fff;background:#ffffff0a}.profile-modal-tab.tab-active{color:#fff;background:linear-gradient(135deg,#a855f740,#ec489933);border-color:#a855f766;box-shadow:0 4px 12px #a855f726}.profile-modal-body{max-height:calc(90vh - 180px);padding:18px 22px 22px;overflow-y:auto}.profile-modal-body::-webkit-scrollbar{width:6px}.profile-modal-body::-webkit-scrollbar-thumb{background:#a855f759;border-radius:999px}.profile-modal-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:50px 20px;font-size:.9rem;display:flex}.profile-stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}@media (width<=600px){.profile-stats-grid{grid-template-columns:repeat(2,1fr)}}.profile-stat-box{background:#121424b3;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:10px;padding:14px 12px;transition:transform .2s,border-color .2s;display:flex}.profile-stat-box:hover{transform:translateY(-2px)}.profile-stat-box.stat-gold{border-color:#facc1540}.profile-stat-box.stat-gold .profile-stat-icon{color:#facc15;background:#facc151f}.profile-stat-box.stat-blue{border-color:#3b82f640}.profile-stat-box.stat-blue .profile-stat-icon{color:#60a5fa;background:#3b82f61f}.profile-stat-box.stat-green{border-color:#22c55e40}.profile-stat-box.stat-green .profile-stat-icon{color:#4ade80;background:#22c55e1f}.profile-stat-box.stat-pink{border-color:#ec489940}.profile-stat-box.stat-pink .profile-stat-icon{color:#f472b6;background:#ec48991f}.profile-stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.profile-stat-val{color:#fff;font-size:1.15rem;font-weight:800;line-height:1.2}.profile-stat-lbl{color:var(--text-muted);margin-top:2px;font-size:.72rem;font-weight:600}.profile-loadout-section{background:#0e101ca6;border:1px solid #ffffff14;border-radius:14px;padding:16px 18px}.profile-section-title{letter-spacing:1px;color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:14px;font-size:.8rem;font-weight:800;display:flex}.profile-loadout-card{grid-template-columns:180px 1fr;gap:18px;display:grid}@media (width<=600px){.profile-loadout-card{grid-template-columns:1fr}}.profile-champion-col{text-align:center;background:#ffffff05;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:16px 12px;display:flex}.profile-champion-stage{justify-content:center;align-items:center;width:90px;height:90px;margin-bottom:8px;display:flex}.profile-champion-sprite{object-fit:contain;filter:drop-shadow(0 4px 12px #a855f759);max-width:100%;max-height:100%}.profile-champion-name{color:#fff;font-size:1.05rem;font-weight:800}.profile-champion-level{color:var(--text-muted);margin-top:2px;font-size:.72rem}.profile-gear-col{flex-direction:column;justify-content:space-between;gap:12px;display:flex}.profile-gear-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=500px){.profile-gear-row{grid-template-columns:1fr}}.profile-gear-slot{background:#121424cc;border:1px solid #ffffff12;border-radius:10px;padding:10px 12px}.profile-gear-slot.slot-weapon{border-color:#f59e0b40}.profile-gear-slot.slot-armor{border-color:#c084fc40}.profile-gear-slot-type{letter-spacing:.8px;color:var(--text-muted);align-items:center;gap:5px;margin-bottom:6px;font-size:.68rem;font-weight:800;display:flex}.profile-gear-slot.slot-weapon .profile-gear-slot-type{color:#f59e0b}.profile-gear-slot.slot-armor .profile-gear-slot-type{color:#c084fc}.profile-gear-slot-body{align-items:center;gap:10px;display:flex}.profile-gear-img-wrap{background:#0006;border:1px solid #ffffff14;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.profile-gear-img-wrap img{object-fit:contain;width:28px;height:28px}.profile-empty-gear{color:#fff3}.profile-gear-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:700;overflow:hidden}.profile-gear-bonus{margin-top:2px;font-size:.72rem;font-weight:700}.bonus-atk{color:#f59e0b}.bonus-def{color:#c084fc}.profile-combat-totals{background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;justify-content:space-around;align-items:center;padding:10px 14px;display:flex}.profile-combat-stat-item{color:var(--text-muted);align-items:center;gap:6px;font-size:.82rem;display:flex}.profile-combat-stat-item strong{color:#fff;font-size:.95rem}.profile-combat-stat-item.stat-hp svg{color:#ec4899}.profile-combat-stat-item.stat-atk svg{color:#3b82f6}.profile-combat-stat-item.stat-def svg{color:#10b981}.profile-tab-history{flex-direction:column;gap:14px;display:flex}.profile-history-filter-bar{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.history-filter-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:6px 12px;font-size:.78rem;font-weight:700;transition:all .18s}.history-filter-btn:hover{color:#fff;background:#ffffff14}.history-filter-btn.filter-active{color:#fff;background:#a855f740;border-color:#a855f780}.history-filter-btn.filter-btn-win.filter-active{color:#4ade80;background:#22c55e33;border-color:#22c55e80}.history-filter-btn.filter-btn-lose.filter-active{color:#f87171;background:#ef444433;border-color:#ef444480}.profile-history-list{flex-direction:column;gap:10px;display:flex}.history-card{background:#121424b3;border:1px solid #ffffff12;border-radius:12px;align-items:center;gap:14px;padding:12px 14px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}@media (width<=600px){.history-card{flex-direction:column;align-items:flex-start;gap:10px}}.history-card:hover{transform:translate(3px)}.history-card-win{border-left:4px solid #22c55e}.history-card-win:hover{border-color:#22c55e66;box-shadow:0 4px 16px #22c55e1f}.history-card-defeat{border-left:4px solid #ef4444}.history-card-defeat:hover{border-color:#ef444466;box-shadow:0 4px 16px #ef44441f}.history-card-giveup{border-left:4px solid #94a3b8}.history-result-badge{flex-shrink:0}.badge-win{color:#22c55e;letter-spacing:.5px;background:#22c55e1f;border:1px solid #22c55e59;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.badge-defeat{color:#ef4444;letter-spacing:.5px;background:#ef44441f;border:1px solid #ef444459;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.badge-giveup{color:#94a3b8;letter-spacing:.5px;background:#94a3b81f;border:1px solid #94a3b84d;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.history-main-info{flex:1;min-width:0}.history-title-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.history-dungeon-name{color:#fff;font-size:.95rem;font-weight:800}.history-diff-tag{letter-spacing:.5px;border:1px solid;border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:800}.history-meta-row{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:.75rem;display:flex}.history-hero-tag{color:#c084fc;font-weight:600}.history-quiz-accuracy{color:#38bdf8;align-items:center;gap:4px;font-weight:600;display:inline-flex}.history-timestamp{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.history-stats-pill{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.history-stat-chip{background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.chip-dmg{color:#f472b6;border-color:#f472b640}.chip-exp{color:#4ade80;border-color:#4ade8040}.chip-gold{color:#facc15;border-color:#facc1540}.profile-clears-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width<=600px){.profile-clears-grid{grid-template-columns:1fr}}.profile-clear-card{background:#121424b3;border:1px solid #ffffff14;border-radius:12px;padding:14px}.profile-clear-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.profile-clear-title{color:#fff;font-size:.95rem;font-weight:800}.profile-clear-total{color:var(--brand-purple);background:#a855f71f;border:1px solid #a855f740;border-radius:6px;padding:2px 7px;font-size:.72rem;font-weight:700}.profile-clear-subtitle{color:var(--text-muted);margin-bottom:12px;font-size:.75rem}.profile-clear-diff-bars{flex-direction:column;gap:8px;display:flex}.profile-diff-bar-item{flex-direction:column;gap:3px;display:flex}.profile-diff-bar-label{color:var(--text-secondary);justify-content:space-between;font-size:.72rem;font-weight:700;display:flex}.profile-diff-track{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden}.profile-diff-fill{border-radius:999px;height:100%}.fill-easy{background:linear-gradient(90deg,#22c55e,#4ade80)}.fill-medium{background:linear-gradient(90deg,#eab308,#facc15)}.fill-hard{background:linear-gradient(90deg,#dc2626,#ef4444)}.profile-empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.profile-empty-icon{color:#a855f766;margin-bottom:12px}.profile-empty-title{color:#fff;margin-bottom:6px;font-size:1.05rem;font-weight:800}.profile-empty-sub{color:var(--text-muted);max-width:360px;margin:0;font-size:.82rem;line-height:1.5}
