@import url(https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Crimson+Pro:ital,wght@0,400;1,400&family=Exo+2:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes panelSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-panel{animation:panelSlideUp .26s cubic-bezier(.34,1.4,.64,1);background:#0b1824;border:1px solid #243344;border-radius:4px 4px 6px 6px;border-top:2px solid #c49a2a;box-shadow:0 0 0 1px #c49a2a0f,0 24px 64px #000000bf;color:#d2c09a;font-family:Exo\ 2,Segoe UI,sans-serif;max-width:400px;padding:28px 28px 24px;width:100%}.auth-panel__title{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:600;letter-spacing:.04em;margin:0 0 24px;text-align:center}.auth-panel .form-group{margin-bottom:16px}.auth-panel .form-group label{color:#485e70;display:block;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:6px;text-transform:uppercase}.auth-panel .form-group input{background:#111e2e;border:1px solid #243344;border-radius:3px;box-sizing:border-box;color:#d2c09a;font-family:Exo\ 2,sans-serif;font-size:14px;padding:10px 12px;transition:border-color .16s ease;width:100%}.auth-panel .form-group input:focus{border-color:#3a5268;outline:none}.auth-panel .form-group input::placeholder{color:#485e70}.auth-panel button[type=submit]{background:linear-gradient(135deg,#9b2424,#6e1a1a);border:1px solid #d9444459;border-radius:3px;box-shadow:none;color:#f5d5d5;cursor:pointer;font-family:Cinzel,Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.08em;margin-top:8px;padding:12px 20px;transform:none;transition:all .2s ease;width:100%}.auth-panel button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#c62828,#9b2424);box-shadow:0 0 22px #d9444438;transform:none}.auth-panel button[type=submit]:active:not(:disabled){box-shadow:none;transform:none}.auth-panel button[type=submit]:disabled{background:linear-gradient(135deg,#9b2424,#6e1a1a);box-shadow:none;cursor:not-allowed;opacity:.38;transform:none}.auth-panel .link-button{background:none;border:none;box-shadow:none;color:#e6b84a;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:600;padding:0;text-decoration:none;transform:none;transition:color .16s ease;width:auto}.auth-panel .link-button:hover{background:none;box-shadow:none;color:#c49a2a;transform:none}.auth-panel .link-button:active:before{display:none}.auth-panel .error,.auth-panel .error-message{background:#9b2b2b38;border:1px solid #d94444;border-radius:3px;color:#f5c0c0}.auth-panel .error,.auth-panel .error-message,.auth-panel .success-message{font-family:Exo\ 2,sans-serif;font-size:13px;margin-bottom:14px;padding:10px 14px;text-align:left}.auth-panel .success-message{background:#235e3c38;border:1px solid #3da86e;border-radius:3px;color:#a8e6c4}.auth-panel .reset-instructions{color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:13px;margin-bottom:20px;text-align:center}.auth-panel .auth-footer,.auth-panel .forgot-password-link,.auth-panel>p:last-of-type{color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:13px;margin-top:16px;text-align:center}.auth-panel .dev-reset-link{background:#c49a2a14;border:1px solid #c49a2a40;border-radius:3px;margin-top:12px;padding:12px 14px}.auth-panel .dev-reset-link a{color:#e6b84a;font-size:12px;text-decoration:none;word-break:break-all}.auth-panel .dev-reset-link a:hover{color:#c49a2a;text-decoration:underline}.appearance-editor{display:flex;flex-direction:column;gap:16px}.appearance-preview-stage{background:#00000059;border:1px solid #c49a2a59;border-radius:6px;height:96px;margin:0 auto;position:relative;width:96px}.appearance-preview-stage img{height:100%;image-rendering:pixelated;inset:0;object-fit:contain;position:absolute;width:100%}.appearance-editor-field{display:flex;flex-direction:column;gap:6px}.appearance-editor-field>label{color:#9fb0be;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.appearance-toggle-group{display:flex;gap:8px}.appearance-toggle-btn{background:#111e2e;background:var(--ms2,#111e2e);border:1px solid #c49a2a4d;border-radius:3px;color:#d2c09a;cursor:pointer;flex:1 1;font-size:13px;padding:8px 12px}.appearance-toggle-btn:hover{border-color:#c49a2ab3}.appearance-toggle-btn.active{background:#c49a2a40;border-color:#c49a2a;color:#e6b84a}.skin-tone-swatches{display:flex;gap:8px}.skin-tone-swatch{background-color:#e8b88a;background-image:linear-gradient(#0000000f,#0000000f);border:2px solid #c49a2a4d;border-radius:50%;cursor:pointer;height:30px;padding:0;width:30px}.skin-tone-swatch:hover{border-color:#c49a2ab3}.skin-tone-swatch.active{border-color:#e6b84a;box-shadow:0 0 0 2px #e6b84a66}.appearance-grid{max-height:220px}.appearance-none-swatch{align-items:center;color:#9fb0be;display:flex;font-size:11px;height:48px;justify-content:center}.appearance-editor-error{color:#e94560;font-size:12px}.appearance-editor-loading{color:#9fb0be;font-size:12px}.sprite-picker-item.active{border-color:#c49a2a;box-shadow:inset 0 0 0 1px #c49a2a80}.character-creator{background:#0b1824;border:1px solid #243344;border-radius:4px 4px 6px 6px;border-top:2px solid #c49a2a;box-shadow:0 0 0 1px #c49a2a0f,0 24px 64px #000000bf;color:#d2c09a;font-family:Exo\ 2,Segoe UI,sans-serif;max-width:680px;padding:24px 28px}.character-creator h2{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:600;letter-spacing:.04em;margin:0 0 24px}.character-creator .form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}.character-creator .form-group label{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.character-creator .form-group input,.character-creator .form-group select{background:#111e2e;border:1px solid #243344;border-radius:3px;box-sizing:border-box;color:#d2c09a;font-family:Exo\ 2,sans-serif;font-size:14px;padding:9px 12px;transition:border-color .16s ease;width:100%}.character-creator .form-group input:focus,.character-creator .form-group select:focus{border-color:#3a5268;outline:none}.character-creator .form-group input::placeholder{color:#485e70}.character-creator .form-group select option{background:#111e2e;color:#d2c09a}.form-row{grid-gap:14px;gap:14px}.form-row,.stats-section{margin-bottom:16px}.stats-header{flex-wrap:wrap;gap:12px;margin-bottom:14px}.stats-header h3{align-items:center;color:#485e70;display:flex;flex:1 1;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;gap:10px;letter-spacing:.1em;text-transform:uppercase}.stats-header h3:after{background:#243344;content:"";flex:1 1;height:1px}.stat-points{color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600}.stat-points .points-available{color:#e6b84a;font-weight:700}.stat-points .points-zero{color:#3da86e;font-weight:700}.character-creator .reset-button{background:#243344;border:1px solid #3a5268;border-radius:3px;box-shadow:none;color:#7a96aa;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;padding:5px 12px;text-transform:uppercase;transform:none;transition:all .16s ease;width:auto}.character-creator .reset-button:hover{background:#3a5268;color:#d2c09a;transform:none}.stats-grid{display:flex;flex-direction:column;gap:8px}.character-creator .stat-row{align-items:center;background:#0b1824;border:1px solid #243344;border-radius:3px;display:flex;justify-content:space-between;padding:8px 12px}.stat-info{gap:2px}.stat-info label{color:#d2c09a;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:600}.stat-info small{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:11px}.stat-controls{gap:10px}.character-creator .stat-controls button{align-items:center;background:#243344;border:1px solid #3a5268;border-radius:3px;box-shadow:none;color:#d2c09a;cursor:pointer;display:flex;font-family:Exo\ 2,sans-serif;font-size:16px;font-weight:700;height:28px;justify-content:center;line-height:1;padding:0;transform:none;transition:all .16s ease;width:28px}.character-creator .stat-controls button:hover:not(:disabled){background:#3a5268;border-color:#c49a2a;color:#e6b84a;transform:none}.character-creator .stat-controls button:disabled{cursor:not-allowed;opacity:.3;transform:none}.stat-value{color:#e6b84a;font-size:15px;min-width:24px}.character-creator .error{background:#8b242438;border:1px solid #d9444459;border-radius:3px;color:#d94444;font-family:Exo\ 2,sans-serif;font-size:13px;margin-bottom:14px;padding:10px 14px}.character-creator .form-actions{display:flex;gap:10px;justify-content:center;margin-top:4px}.character-creator .form-actions button[type=button]{background:#243344;border:1px solid #3a5268;border-radius:3px;box-shadow:none;color:#7a96aa;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em;padding:10px 20px;text-transform:uppercase;transform:none;transition:all .18s ease;width:auto}.character-creator .form-actions button[type=button]:hover{background:#3a5268;color:#d2c09a;transform:none}.character-creator .form-actions button[type=submit]{background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;border-radius:3px;box-shadow:none;color:#e6b84a;cursor:pointer;font-family:Cinzel,Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.08em;padding:10px 28px;transform:none;transition:all .18s ease;width:auto}.character-creator .form-actions button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 14px #c49a2a33;transform:none}.character-creator .form-actions button[type=submit]:disabled{box-shadow:none;cursor:not-allowed;opacity:.35;transform:none}@media (max-width:540px){.form-row{grid-template-columns:1fr}.character-creator{padding:16px}}.confirm-modal-overlay{align-items:center;animation:confirm-fade-in .12s ease-out;background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:3000}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-modal{background:#1e1e2efa;border:1px solid #8b5cf666;border-radius:12px;box-shadow:0 8px 32px #0009;color:#e2e8f0;max-width:420px;padding:1.75rem 2rem;width:calc(100% - 2rem)}.confirm-modal h3{color:#f1f5f9;margin:0 0 .75rem}.confirm-modal-message{color:#cbd5e1;line-height:1.45;margin:0 0 1.5rem;white-space:pre-line}.confirm-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.confirm-modal-btn{border:1px solid #0000;border-radius:8px;cursor:pointer;font-size:.95rem;padding:.55rem 1.3rem;transition:background .15s ease,border-color .15s ease}.confirm-modal-cancel{background:#0000;border-color:#94a3b866;color:#cbd5e1}.confirm-modal-cancel:hover{background:#94a3b826}.confirm-modal-confirm{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff}.confirm-modal-confirm:hover{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.confirm-modal-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.confirm-modal-danger:hover{background:linear-gradient(135deg,#ef4444,#dc2626)}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 #c49a2a00}50%{box-shadow:0 0 12px #c49a2a66}}.character-list{color:#d2c09a;font-family:Exo\ 2,Segoe UI,sans-serif;max-width:1400px;padding:20px}.character-list-header{flex-wrap:wrap;gap:12px;margin-bottom:24px}.character-list-header h2{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:600;letter-spacing:.04em}.character-list .create-character-button,.character-list .create-first-character{background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;border-radius:3px;box-shadow:none;color:#e6b84a;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em;padding:8px 18px;text-transform:uppercase;transform:none;transition:all .18s ease;width:auto}.character-list .create-character-button:hover:not(:disabled),.character-list .create-first-character:hover{background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 14px #c49a2a33;transform:none}.character-list .create-character-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.35;transform:none}.character-list-error,.character-list-loading{color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:15px;padding:48px}.character-list-error{color:#d94444}.no-characters{padding:64px 32px}.no-characters p{color:#7a96aa;font-family:Crimson Pro,Georgia,serif;font-size:17px;font-style:italic;margin-bottom:24px}.character-grid{grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.character-card{background:#111e2e;border:1px solid #243344;border-radius:3px;font-family:Exo\ 2,sans-serif;padding:16px;transition:all .16s ease}.character-card:hover{background:#162535;border-color:#3a5268}.character-header{border-bottom:1px solid #243344;margin-bottom:12px;padding-bottom:10px;position:relative}.character-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.character-header h3{color:#d2c09a;font-family:Cinzel,Georgia,serif;font-size:16px;font-weight:600;margin:0}.level{align-items:center;background:#ffa72626;border:1px solid #ffa72659;border-radius:2px;color:#ffa726;display:inline-flex;font-size:11px;letter-spacing:.08em;padding:2px 8px;text-transform:uppercase}.level,.race-class{font-family:Exo\ 2,sans-serif}.race-class{color:#485e70;font-size:12px;letter-spacing:.04em}.evolved-class-tag,.talent-points-badge{color:#e6b84a;font-weight:700}.talent-points-badge{align-items:center;animation:pulse-glow 2s infinite;background:#c49a2a29;border:1px solid #c49a2a73;border-radius:2px;display:flex;font-family:Exo\ 2,sans-serif;font-size:11px;gap:4px;letter-spacing:.05em;padding:2px 8px;position:absolute;right:-4px;top:-4px}.xp-progress{margin-bottom:10px}.xp-bar-container{border-radius:2px;height:3px;margin-bottom:3px}.xp-bar-fill{background:linear-gradient(90deg,#7a6018,#c49a2a);border-radius:2px;transition:width .4s ease}.xp-text{letter-spacing:.03em}.character-stats{margin-bottom:12px}.health-mana{margin-bottom:10px}.stat-bar{gap:8px;margin-bottom:5px}.stat-bar label{color:#485e70;flex-shrink:0;font-family:Exo\ 2,sans-serif;font-size:10px;letter-spacing:.08em;text-transform:uppercase;width:20px}.bar-container{background:#ffffff0f;border-radius:2px;height:4px}.bar-fill{border-radius:2px;overflow:hidden;transition:width .4s ease}.bar-fill:after{animation:shimmer 2.6s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);content:"";inset:0;position:absolute}.bar-text{color:#7a96aa;flex-shrink:0;font-family:Exo\ 2,sans-serif;font-size:10px;font-weight:600;min-width:48px}.primary-stats{grid-gap:1px;background:#243344;border:1px solid #243344;border-radius:3px;display:grid;gap:1px;grid-template-columns:repeat(3,1fr);margin-bottom:10px;overflow:hidden}.stat-cell{background:#111e2e;color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600;letter-spacing:.04em;padding:6px 8px;text-align:center}.equipment-display{background:#0b1824;border:1px solid #243344;border-radius:3px;margin-bottom:10px;padding:10px 12px}.equipment-display-label{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:10px;font-weight:700;letter-spacing:.1em;margin-bottom:8px;text-transform:uppercase}.equipment-empty-state{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:11px;padding:6px 0 2px;text-align:center}.equipment-slots{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:6px}.equipment-slot-container{align-items:center;display:flex;flex-direction:column;gap:4px}.equipment-slot-container .slot-label{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.equipment-slot.empty{align-items:center;background:#111e2e;border:1px dashed #243344;border-radius:3px;display:flex;height:48px;justify-content:center;transition:all .16s ease;width:48px}.equipment-slot.empty:hover{background:#162535;border-color:#3a5268}.equipment-slot.empty .empty-text{font-size:1.1em;opacity:.3}.equipment-bonuses{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.bonus{align-items:center;border-radius:2px;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.05em;padding:2px 7px}.bonus.positive{background:#235e3c38;border:1px solid #3da86e4d;color:#3da86e}.combat-stats{background:#c49a2a0d;border:1px solid #c49a2a1f;border-radius:3px;color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600;padding:6px 10px}.character-actions{gap:5px;margin-top:12px}.character-card .appearance-button,.character-card .delete-button,.character-card .equipment-button,.character-card .progression-button{border:1px solid;border-radius:3px;box-shadow:none;cursor:pointer;flex:1 1;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;padding:7px 8px;text-transform:uppercase;transform:none;transition:all .16s ease;width:auto}.character-card .progression-button{background:linear-gradient(135deg,#7a6018,#5a4510);border-color:#c49a2a73;color:#e6b84a}.character-card .progression-button:hover{background:linear-gradient(135deg,#9a7820,#7a6018);transform:none}.character-card .equipment-button{background:linear-gradient(135deg,#1c3a52,#162535);border-color:#3a5268b3;color:#7a96aa}.character-card .equipment-button:hover{background:linear-gradient(135deg,#243a52,#1c3a52);border-color:#3a5268;color:#d2c09a;transform:none}.character-card .appearance-button{background:linear-gradient(135deg,#4a2a5c,#341f42);border-color:#9a52c473;color:#c99ae6}.character-card .appearance-button:hover{background:linear-gradient(135deg,#5c3570,#4a2a5c);transform:none}.save-appearance-button{background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;border-radius:3px;color:#e6b84a;cursor:pointer;font-family:Exo\ 2,sans-serif;font-weight:700;letter-spacing:.04em;padding:9px 16px}.save-appearance-button:hover:not(:disabled){background:linear-gradient(135deg,#9a7820,#7a6018)}.save-appearance-button:disabled{cursor:not-allowed;opacity:.5}.character-card .delete-button{background:#8b2424;border-color:#d9444466;color:#f0d8d8;padding:7px 8px}.character-card .delete-button:hover{background:#d94444;box-shadow:none;transform:none}@media (max-width:768px){.character-grid{gap:10px;grid-template-columns:1fr}.character-list{padding:12px}}@media (max-width:480px){.character-list-header{flex-direction:column}.character-actions{flex-wrap:wrap}}.skill-tree-container{background:linear-gradient(180deg,#0f0f1e,#1a1a2e);color:#d2c09a;display:flex;font-family:Exo\ 2,Segoe UI,sans-serif;gap:20px;min-height:100vh;padding:20px;position:relative}.success-notification{animation:slideInRight .26s ease-out;background:#0b1824;border:1px solid #3da86e66;border-left:3px solid #3da86e;border-radius:3px;box-shadow:0 8px 24px #00000080;color:#c6f0da;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.05em;padding:12px 20px;position:fixed;right:20px;top:20px;z-index:10000}.skill-tree-main{flex:1 1}.skill-tree-main,.skill-tree-sidebar{background:#0b1824;border:1px solid #243344;border-radius:3px;padding:20px}.skill-tree-sidebar{width:300px}.skill-tree-header{align-items:center;border-bottom:1px solid #243344;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:14px}.skill-tree-title{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:600;letter-spacing:.04em}.talent-points-display{align-items:center;background:#c49a2a1f;border:1px solid #c49a2a59;border-radius:2px;color:#e6b84a;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em;padding:5px 14px;text-align:center}.category-filters{background:#111e2e;border:1px solid #243344;border-radius:3px;margin-bottom:20px;padding:12px}.category-filters-label{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:10px;text-transform:uppercase}.category-filter-buttons{display:flex;flex-wrap:wrap;gap:6px}.category-filter-button{align-items:center;background:#0b1824;border:1px solid #243344;border-radius:2px;box-shadow:none;color:#7a96aa;cursor:pointer;display:flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;gap:5px;letter-spacing:.05em;padding:5px 12px;transform:none;transition:all .16s ease}.category-filter-button:hover{background:#162535;border-color:#3a5268;box-shadow:none;color:#d2c09a;transform:none}.category-filter-button.active{background:#c49a2a1f;border-color:#c49a2a73;box-shadow:none;color:#e6b84a}.category-filter-icon{font-size:16px;line-height:1}.category-filter-text{line-height:1}.skill-tree-tiers{display:flex;flex-direction:column;gap:30px;margin:0 auto;max-width:1000px;position:relative}.skill-tier-container{position:relative;z-index:1}.skill-connections-svg{pointer-events:none}.skill-connection{transition:all .3s ease}.tier-label{background:#c49a2a0f;border:1px solid #c49a2a26;border-radius:2px;color:#c49a2a;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;margin-bottom:12px;padding:6px 12px;text-align:center;text-shadow:none;text-transform:uppercase}.skill-tier-row{background:#111e2e;border:1px solid #243344;border-radius:3px;flex-wrap:wrap;gap:16px;padding:16px}.skill-node,.skill-tier-row{align-items:center;display:flex;justify-content:center}.skill-node{animation:fadeInScale .4s ease-out;background:#0b1824;border:1px solid #243344;border-radius:4px;cursor:pointer;flex-direction:column;height:140px;position:relative;transition:all .2s ease;width:140px}@keyframes fadeInScale{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.skill-node:hover{border-color:#3a5268;box-shadow:0 8px 24px #00000080;transform:scale(1.04);z-index:10}.skill-node.selected{border-color:#c49a2a;box-shadow:0 0 18px #c49a2a59;transform:scale(1.03)}.skill-node.learned{animation:learnedPulse 3s ease-in-out infinite;background:#c49a2a1a;border-color:#c49a2a;box-shadow:0 0 14px #c49a2a40}@keyframes learnedPulse{0%,to{box-shadow:0 0 14px #c49a2a40}50%{box-shadow:0 0 22px #c49a2a73}}.skill-node.can-learn{animation:canLearnGlow 2s ease-in-out infinite;background:#7a601826;border-color:#c49a2a80;box-shadow:0 0 12px #c49a2a2e}@keyframes canLearnGlow{0%,to{box-shadow:0 0 12px #c49a2a2e}50%{box-shadow:0 0 20px #c49a2a52}}.skill-node.cannot-learn{background:#0b1824;border-color:#1c2c3a;cursor:not-allowed;opacity:.45}.skill-node.locked{background:#8b242414;border-color:#8b24244d;cursor:not-allowed;opacity:.4}.skill-connection-line{background:linear-gradient(180deg,#0000,#c49a2a66);height:30px;left:50%;position:absolute;top:-30px;transform:translateX(-50%);width:2px;z-index:0}.skill-node.learned .skill-connection-line{background:linear-gradient(180deg,#0000,#c49a2a99)}.learned-checkmark{align-items:center;animation:checkmarkBounce .4s ease-out;background:#c49a2a33;border:1px solid #c49a2a80;border-radius:2px;box-shadow:none;color:#e6b84a;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:6px;top:6px;width:20px}@keyframes checkmarkBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.skill-category-badge{background:#243344e6;border:1px solid #243344;border-radius:2px;bottom:4px;color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:8px;font-weight:700;left:4px;letter-spacing:.07em;padding:2px 6px;position:absolute;text-transform:uppercase}.skill-icon{align-items:center;background:#c49a2a12;border:1px solid #c49a2a2e;border-radius:3px;display:flex;font-size:22px;height:44px;justify-content:center;margin-bottom:7px;width:44px}.skill-name{color:#d2c09a;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:600;line-height:1.2;max-width:100px;overflow:hidden;text-align:center;text-overflow:ellipsis}.skill-cost{background:#243344e6;border:1px solid #c49a2a4d;border-radius:2px;bottom:4px;font-size:10px;min-width:16px;padding:2px 6px;right:4px;text-align:center}.skill-cost,.skill-requirement{color:#e6b84a;font-family:Exo\ 2,sans-serif;font-weight:700;letter-spacing:.04em;position:absolute}.skill-requirement{background:#7a6018cc;border:1px solid #c49a2a59;border-radius:2px;font-size:9px;left:4px;padding:2px 5px;top:4px}.skill-details-panel{background:#111e2e;border:1px solid #243344;border-radius:3px;border-top:2px solid #c49a2a;margin-top:16px;padding:16px}.skill-details-title{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:16px;font-weight:600;letter-spacing:.03em;margin-bottom:8px}.skill-details-description{color:#7a96aa;font-family:Crimson Pro,Georgia,serif;font-size:15px;font-style:italic;line-height:1.5;margin-bottom:14px}.skill-effects{margin-top:12px}.skill-effects-title{align-items:center;color:#485e70;display:flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;gap:8px;letter-spacing:.1em;margin-bottom:8px;text-transform:uppercase}.skill-effects-title:after{background:#243344;content:"";flex:1 1;height:1px}.skill-effect-item{border-bottom:1px solid #24334480;display:flex;font-family:Exo\ 2,sans-serif;font-size:13px;justify-content:space-between;padding:5px 0}.skill-effect-label{color:#485e70}.skill-effect-value{color:#e6b84a;font-weight:700}.learn-skill-button{background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;border-radius:3px;box-shadow:none;color:#e6b84a;cursor:pointer;font-family:Cinzel,Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.07em;margin-top:14px;padding:10px 16px;transform:none;transition:all .18s ease;width:100%}.learn-skill-button:hover:not(:disabled){background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 14px #c49a2a33;transform:none}.learn-skill-button:disabled{background:#1c2c3a;border-color:#243344;color:#485e70;cursor:not-allowed;opacity:.6}.passive-bonuses-section{margin-top:20px}.passive-bonuses-title{align-items:center;color:#485e70;display:flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;gap:8px;letter-spacing:.1em;margin-bottom:12px;text-transform:uppercase}.passive-bonuses-title:after{background:#243344;content:"";flex:1 1;height:1px}.stat-bonuses-grid{grid-gap:1px;background:#243344;border:1px solid #243344;border-radius:3px;display:grid;gap:1px;grid-template-columns:1fr 1fr;margin-bottom:16px;overflow:hidden}.stat-bonus-item{background:#0b1824;display:flex;font-family:Exo\ 2,sans-serif;font-size:12px;justify-content:space-between;padding:7px 10px}.stat-bonus-label{color:#485e70;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.stat-bonus-value{color:#e6b84a;font-weight:700}.passive-abilities-list{margin-top:14px}.passive-abilities-title{align-items:center;color:#485e70;display:flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;gap:8px;letter-spacing:.1em;margin-bottom:8px;text-transform:uppercase}.passive-abilities-title:after{background:#243344;content:"";flex:1 1;height:1px}.passive-ability-item{background:#c49a2a12;border:1px solid #c49a2a33;border-radius:2px;color:#e6b84a;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:4px;padding:6px 10px}.loading-spinner{font-weight:700;height:200px}.error-message{padding:14px}.skill-tree-empty-state{background:#0b1824;border:1px dashed #243344;border-radius:3px;margin:40px auto;max-width:600px;padding:32px;text-align:center}.empty-state-icon{animation:pulse 2s ease-in-out infinite;font-size:80px;margin-bottom:20px}.skill-tree-empty-state h2{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:20px;letter-spacing:.03em;margin-bottom:12px}.skill-tree-empty-state p{color:#7a96aa;font-family:Crimson Pro,Georgia,serif;font-size:16px;font-style:italic;line-height:1.6;margin-bottom:12px}.empty-state-info{border-left:3px solid #c49a2a;border-radius:3px;margin:20px 0}.empty-state-hint,.empty-state-info{background:#c49a2a12;padding:15px;text-align:left}.empty-state-hint{border:1px solid #c49a2a4d;border-radius:3px;margin-top:20px}.empty-state-hint strong{color:#e6b84a;display:block;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}.empty-state-hint p{background:#0000004d;border-radius:3px;color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:13px;padding:10px}.talent-history-section{margin-top:20px;max-height:280px;overflow-y:auto;scrollbar-color:#243344 #0000;scrollbar-width:thin}.talent-history-section::-webkit-scrollbar{width:4px}.talent-history-section::-webkit-scrollbar-thumb{background:#243344;border-radius:2px}.talent-history-title{align-items:center;color:#485e70;display:flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;gap:8px;letter-spacing:.1em;margin-bottom:10px;text-transform:uppercase}.talent-history-title:after{background:#243344;content:"";flex:1 1;height:1px}.talent-transaction{align-items:center;background:#111e2e;border:1px solid #243344;border-radius:2px;display:flex;font-family:Exo\ 2,sans-serif;font-size:12px;justify-content:space-between;margin-bottom:4px;padding:6px 10px}.talent-transaction.positive{border-left:2px solid #3da86e}.talent-transaction.negative{border-left:2px solid #d94444}.talent-transaction-points{font-weight:700}.talent-transaction-points.positive{color:#3da86e}.talent-transaction-points.negative{color:#d94444}.talent-transaction-source{color:#485e70}.reset-skills-section{border-bottom:1px solid #243344;margin-bottom:16px;padding-bottom:14px;text-align:center}.reset-skills-button{background:#8b2424;border:1px solid #d9444466;border-radius:3px;box-shadow:none;color:#f0d8d8;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;padding:8px 18px;text-transform:uppercase;transform:none;transition:all .18s ease;width:auto}.reset-skills-button:hover:not(:disabled){background:#d94444;box-shadow:none;transform:none}.reset-skills-button:disabled{cursor:not-allowed;opacity:.4;transform:none}.modal-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040a14d1;inset:0}.modal-content{animation:slideUp .26s cubic-bezier(.34,1.4,.64,1);background:#0b1824;border:1px solid #243344;border-radius:4px 4px 6px 6px;border-top:2px solid #8b2424;box-shadow:0 0 0 1px #d944440f,0 24px 64px #000000bf;color:#d2c09a;font-family:Exo\ 2,sans-serif;max-width:480px;padding:24px 28px}.modal-header{color:#d94444;font-family:Cinzel,Georgia,serif;font-size:18px;font-weight:600;letter-spacing:.04em;margin-bottom:18px;text-align:center}.modal-body{color:#7a96aa;font-size:14px;line-height:1.6;margin-bottom:20px}.modal-body p{margin-bottom:8px}.modal-body strong{color:#e6b84a;font-weight:700}.modal-warning{border-top:1px solid #c49a2a33;color:#ffa726!important;font-size:12px;font-weight:700;letter-spacing:.06em;margin-top:12px!important;padding-top:12px;text-align:center;text-transform:uppercase}.modal-actions{justify-content:center}.modal-button{border:1px solid;border-radius:3px;box-shadow:none;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em;min-width:110px;padding:9px 24px;text-transform:uppercase;transform:none;transition:all .18s ease;width:auto}.modal-button-cancel{background:#243344;border-color:#3a5268;color:#7a96aa}.modal-button-cancel:hover{background:#3a5268;box-shadow:none;color:#d2c09a;transform:none}.modal-button-confirm{background:#8b2424;border-color:#d9444466;color:#f0d8d8}.modal-button-confirm:hover{background:#d94444;box-shadow:none;transform:none}.skill-tooltip{animation:tooltipFadeIn .18s ease-out;background:#0b1824;border:1px solid #243344;border-radius:3px;border-top:2px solid #c49a2a;box-shadow:0 0 0 1px #c49a2a0f,0 16px 48px #000c;color:#d2c09a;font-family:Exo\ 2,sans-serif;max-width:340px;min-width:260px;padding:12px 14px;pointer-events:none}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,-100%) scale(.95)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.tooltip-header{align-items:center;border-bottom:1px solid #243344;gap:10px;margin-bottom:10px;padding-bottom:10px}.tooltip-icon{align-items:center;background:#c49a2a12;border:1px solid #c49a2a33;border-radius:3px;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;width:36px}.tooltip-title{color:#e6b84a;flex:1 1;font-family:Cinzel,Georgia,serif;font-size:14px;font-weight:600;line-height:1.2}.tooltip-category{background:#243344;border:1px solid #3a5268;border-radius:2px;color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:9px;font-weight:700;letter-spacing:.07em;padding:2px 6px;text-transform:uppercase}.tooltip-description{color:#7a96aa;font-family:Crimson Pro,Georgia,serif;font-size:13px;font-style:italic;line-height:1.45;margin-bottom:8px}.tooltip-requirements{background:#111e2e;border:1px solid #243344;border-radius:2px;display:flex;gap:12px;margin-bottom:8px;padding:7px 10px}.tooltip-requirement-item{display:flex;flex:1 1;flex-direction:column;gap:2px}.tooltip-label{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.tooltip-value-met{color:#3da86e}.tooltip-value-met,.tooltip-value-unmet{font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700}.tooltip-value-unmet{color:#d94444}.tooltip-effects{margin-top:8px}.tooltip-effects-section{margin-bottom:6px}.tooltip-section-title{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:10px;font-weight:700;letter-spacing:.09em;margin-bottom:4px;text-transform:uppercase}.tooltip-effect-item{color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:12px;padding:2px 0}.tooltip-effect-item span{color:#e6b84a;font-weight:700}.tooltip-passive-ability{background:#c49a2a0f;border:1px solid #c49a2a26;border-radius:2px;display:flex;flex-direction:column;gap:3px;margin-top:5px;padding:6px 8px}.tooltip-passive-name{color:#e6b84a;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.05em}.tooltip-passive-desc{color:#7a96aa;font-family:Crimson Pro,Georgia,serif;font-size:11px;font-style:italic;line-height:1.4;padding-left:3px}.tooltip-warning{background:#8b242426;border-left:2px solid #d94444;color:#d94444;padding:6px 8px}.tooltip-status,.tooltip-warning{border-radius:2px;font-family:Exo\ 2,sans-serif;font-size:11px;margin-top:8px}.tooltip-status{font-weight:700;letter-spacing:.07em;padding:6px 10px;text-align:center;text-transform:uppercase}.tooltip-status.learned{background:#c49a2a1f;border:1px solid #c49a2a59;color:#e6b84a}.tooltip-status.can-learn{background:#7a60181f;border:1px solid #c49a2a40;color:#c49a2a}.skill-hotbar-container{background:#0b1824;border:1px solid #243344;border-bottom:2px solid #c49a2a4d;border-radius:3px;margin-bottom:20px;padding:14px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.hotbar-header{margin-bottom:10px;text-align:center}.hotbar-title{color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:3px;text-transform:uppercase}.hotbar-hint{color:#485e70;font-family:Crimson Pro,Georgia,serif;font-size:12px;font-style:italic}.skill-hotbar{gap:8px}.hotbar-slot,.skill-hotbar{display:flex;justify-content:center}.hotbar-slot{align-items:center;background:#111e2e;border:1px dashed #243344;border-radius:3px;cursor:pointer;flex-direction:column;height:90px;position:relative;transition:all .16s ease;width:90px}.hotbar-slot.empty:hover{background:#c49a2a0d;border-color:#c49a2a66;transform:none}.hotbar-slot.filled{background:#c49a2a0f;border:1px solid #c49a2a4d}.hotbar-slot.filled:hover{background:#8b24241a;border-color:#d9444466;transform:none}.hotbar-slot-number{background:#000000b3;border-radius:2px;color:#485e70;font-family:Exo\ 2,sans-serif;font-size:9px;font-weight:700;left:3px;letter-spacing:.04em;min-width:14px;padding:1px 5px;position:absolute;text-align:center;top:3px}.hotbar-skill{align-items:center;display:flex;flex-direction:column;gap:3px;justify-content:center;padding:4px}.hotbar-skill-icon{font-size:20px;margin-bottom:3px}.hotbar-skill-name{color:#d2c09a;font-family:Exo\ 2,sans-serif;font-size:10px;font-weight:600;line-height:1.2;max-width:82px;overflow:hidden;text-align:center;text-overflow:ellipsis}.hotbar-skill-cost{background:#c49a2a1a;color:#e6b84a;letter-spacing:.04em}.hotbar-skill-cooldown,.hotbar-skill-cost{border-radius:2px;font-family:Exo\ 2,sans-serif;font-size:9px;font-weight:700;padding:1px 5px}.hotbar-skill-cooldown{background:#3a52684d;color:#7a96aa}.hotbar-empty-icon{color:#ffffff1a;font-size:28px;font-weight:200}.skill-node.draggable{cursor:grab}.skill-node.draggable:active{cursor:grabbing}@media (max-width:1200px){.skill-tree-container{flex-direction:column}.skill-tree-sidebar{width:100%}.skill-tier-row{gap:15px}.skill-node{height:120px;width:120px}}@media (max-width:768px){.skill-tree-tiers{gap:20px}.tier-label{font-size:14px;padding:8px}.skill-tier-row{gap:10px;padding:15px}.skill-node{height:100px;width:100px}.skill-icon{font-size:18px;height:36px;width:36px}.skill-name{font-size:10px;max-width:80px}.skill-category-badge{bottom:3px;font-size:7px;left:3px;padding:2px 6px}.skill-cost,.skill-requirement{font-size:9px;padding:2px 5px}.learned-checkmark{font-size:12px;height:20px;width:20px}}.skill-level-badge{background:#c49a2a33;border:1px solid #c49a2a80;border-radius:2px;color:#e6b84a;font-family:Exo\ 2,sans-serif;font-size:10px;font-weight:700;letter-spacing:.05em;padding:2px 6px;position:absolute;right:4px;top:4px;z-index:10}.skill-xp-bar{background:#ffffff0f;border-radius:2px;height:3px;margin:6px 0;overflow:hidden;width:100%}.skill-xp-progress{background:linear-gradient(90deg,#7a6018,#c49a2a);height:100%;transition:width .3s ease-in-out}.skill-level-highlight{color:#e6b84a!important;font-weight:700}.character-progression-container{background:linear-gradient(180deg,#0f0f1e,#1a1a2e);color:#d2c09a;font-family:Exo\ 2,Segoe UI,sans-serif;min-height:100vh}.progression-header{padding:16px 20px 0}.back-to-characters-button{align-items:center;background:#111e2e;border:1px solid #243344;border-radius:3px;box-shadow:none;color:#7a96aa;cursor:pointer;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:12px;padding:7px 14px;text-transform:uppercase;transform:none;transition:all .16s ease;width:auto}.back-to-characters-button:hover{background:#162535;border-color:#3a5268;color:#d2c09a;transform:none}.progression-tabs{background:#0b1824;border:1px solid #243344;border-bottom:none;border-radius:3px 3px 0 0;display:flex;gap:4px;margin-top:8px;padding:6px 6px 0}.tab-button{background:#0000;border-bottom:2px solid #0000;border-radius:3px 3px 0 0;box-shadow:none;color:#485e70;flex:1 1;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.07em;padding:10px 16px;text-transform:uppercase;transform:none;transition:all .16s ease;width:auto}.tab-button:hover{background:#ffffff08!important;color:#7a96aa!important}.tab-button.active,.tab-button:hover{font-size:13px!important;text-shadow:none!important;transform:none}.tab-button.active{background:#111e2e!important;border-bottom:2px solid #c49a2a!important;box-shadow:none!important;color:#e6b84a!important}.tab-content{background:#0b1824;border:1px solid #243344;border-radius:0 0 4px 4px;border-top:none;margin:0 20px 20px;min-height:600px}.character-stats-container{padding:24px 20px}.character-info-card{background:#111e2e;border:1px solid #243344;border-radius:3px;border-top:2px solid #c49a2a;margin-bottom:24px;padding:18px 20px}.character-header{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px}.character-header h2{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:600;letter-spacing:.03em;margin:0}.character-level{align-items:center;background:#ffa72626;border:1px solid #ffa72659;border-radius:2px;color:#ffa726;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;padding:3px 10px;text-transform:uppercase}.character-class-race{display:flex;flex-wrap:wrap;gap:8px}.character-class,.character-race{align-items:center;background:#ffffff0a;border:1px solid #243344;border-radius:2px;color:#7a96aa;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600;letter-spacing:.06em;padding:3px 9px}.stats-grid{grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stats-section{background:#111e2e;border:1px solid #243344;border-radius:3px;padding:16px}.stats-section h3{align-items:center;border-bottom:none;color:#7a96aa;display:flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;gap:10px;letter-spacing:.1em;margin:0 0 14px;padding-bottom:0;text-align:left;text-transform:uppercase}.stats-section h3:after{background:#243344;content:"";flex:1 1;height:1px}.combat-stats,.derived-stats,.resistance-stats,.stats-comparison{background:#243344;border:1px solid #243344;border-radius:3px;display:flex;flex-direction:column;gap:1px;overflow:hidden}.stat-row{background:#0b1824;border-left:none;border-radius:0;font-size:13px;padding:8px 12px;transition:background .12s ease}.stat-row:hover{background:#111e2e;border-left-color:#0000}.stat-label{color:#485e70;flex:1 1;letter-spacing:.07em}.stat-base{color:#7a96aa;font-weight:600;min-width:28px}.stat-base,.stat-bonus{font-family:Exo\ 2,sans-serif;font-size:13px;margin-right:8px;text-align:right}.stat-bonus{color:#3da86e;font-weight:700;min-width:36px}.stat-final{color:#e6b84a;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;min-width:44px;text-align:right}.passive-abilities{display:flex;flex-wrap:wrap;gap:6px}.passive-ability-badge{align-items:center;background:#ffa72626;border:1px solid #ffa72659;border-radius:2px;color:#ffa726;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.07em;padding:3px 10px;text-transform:uppercase}.town-bonuses-description{color:#485e70;font-family:Crimson Pro,Georgia,serif;font-size:14px;font-style:italic;margin:0 0 12px}.town-bonuses-list{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.town-bonus-card{background:#0b1824;border:1px solid #3da86e40;border-radius:3px;padding:10px 12px;transition:border-color .16s ease}.town-bonus-card:hover{border-color:#3da86e80;box-shadow:none;transform:none}.town-bonus-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.town-name{color:#3da86e;font-size:13px;letter-spacing:.04em}.town-name,.town-type-badge{font-family:Exo\ 2,sans-serif;font-weight:700}.town-type-badge{align-items:center;background:#ffffff0d;border:1px solid #243344;border-radius:2px;color:#485e70;display:inline-flex;font-size:10px;letter-spacing:.08em;padding:2px 7px;text-transform:uppercase}.town-bonus-details{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.town-bonus-details strong{color:#d2c09a;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600}.bonus-value{align-items:center;background:#235e3c38;border:1px solid #3da86e4d;color:#3da86e;display:inline-flex;font-size:12px}.town-bonus-description{color:#485e70;font-family:Crimson Pro,Georgia,serif;font-size:13px;font-style:italic;line-height:1.4;margin:0}.loading-spinner{align-items:center;color:#485e70;display:flex;font-family:Exo\ 2,sans-serif;font-size:14px;height:300px;justify-content:center;letter-spacing:.08em}.error-message{margin:20px;padding:16px 20px}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media (max-width:768px){.progression-header{padding:12px 12px 0}.progression-tabs{margin:8px 0 0;padding:4px 4px 0}.tab-content{margin:0 12px 12px}.character-stats-container{padding:16px 14px}.character-header{align-items:flex-start;flex-direction:column;gap:8px}.character-header h2{font-size:18px}.stats-grid{gap:10px;grid-template-columns:1fr}.stat-row{padding:7px 10px}.character-class-race{flex-wrap:wrap}}@media (max-width:480px){.stat-row{align-items:flex-start;flex-direction:column;gap:4px}.stat-base,.stat-bonus,.stat-final{min-width:auto;text-align:left}}.evolution-container{display:flex;flex-direction:column;gap:16px}.evolution-current-card{background:linear-gradient(135deg,#1f1740,#111e2e);border:1px solid #c49a2a66;border-radius:3px;border-top:2px solid #e6b84a;padding:22px;text-align:center}.evolution-current-card h2{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:26px;margin:0 0 8px}.evolution-current-card p{color:#a9bacb;margin:4px 0}.evolution-date{color:#7a96aa;font-size:12px}.evolution-intro{color:#a9bacb;font-family:Crimson Pro,Georgia,serif;font-style:italic;margin:0}.evolution-none{color:#7a96aa;padding:20px;text-align:center}.evolution-paths{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.evolution-card{background:#111e2e;border:1px solid #243344;border-radius:3px;display:flex;flex-direction:column;gap:10px;padding:16px}.evolution-card.eligible{border-color:#4caf5066;border-top:2px solid #4caf50}.evolution-card.locked{opacity:.85}.evolution-card h3{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:18px;margin:0}.evolution-description{color:#a9bacb;font-size:13px;margin:0}.evolution-requirements{display:flex;flex-direction:column;gap:4px}.requirement-row{font-family:Exo\ 2,sans-serif;font-size:12px}.requirement-row.met{color:#4caf50}.requirement-row.unmet{color:#d94444}.evolution-bonuses{color:#c6f0da;font-size:12px}.evolution-abilities{color:#7a96aa;font-size:12px;margin:0;padding-left:18px}.evolve-btn{margin-top:auto}.evolution-error{align-items:center;background:#8b242426;border:1px solid #d9444466;border-radius:3px;color:#f0d8d8;display:flex;justify-content:space-between;padding:10px 14px}.evolution-error .close-error{background:none;border:none;color:#f0d8d8;cursor:pointer;font-size:18px;line-height:1}.character-equipment-screen{color:#d2c09a;font-family:Exo\ 2,Segoe UI,sans-serif;margin:0 auto;max-width:1600px;min-height:100vh;padding:20px}.equipment-header{align-items:center;background:#0b1824;border:1px solid #243344;border-radius:3px;border-top:2px solid #c49a2a;display:flex;gap:16px;margin-bottom:20px;padding:14px 16px}.equipment-header h2{color:#e6b84a;flex:1 1;font-family:Cinzel,Georgia,serif;font-size:18px;font-weight:600;letter-spacing:.03em;margin:0}.back-button{background:#111e2e;border:1px solid #243344;border-radius:3px;box-shadow:none;color:#7a96aa;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;padding:7px 14px;text-transform:uppercase;transform:none;transition:all .16s ease;width:auto}.back-button:hover{background:#162535;border-color:#3a5268;color:#d2c09a;transform:none}.unequip-all-button{background:#8b2424;border:1px solid #d9444466;border-radius:3px;box-shadow:none;color:#f0d8d8;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;padding:7px 14px;text-transform:uppercase;transform:none;transition:all .16s ease;width:auto}.unequip-all-button:hover{background:#d94444;box-shadow:none;transform:none}.error-message{background:#8b242438;border:1px solid #d9444459;color:#d94444}.error-message,.success-message{font-size:13px;margin-bottom:12px;padding:10px 14px}.success-message{background:#235e3c38;border:1px solid #3da86e59;border-radius:3px;color:#3da86e}.equipment-container{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:2fr 1fr}.paper-doll{background:#0b1824;border:1px solid #243344;border-radius:3px;padding:20px}.paper-doll h3{align-items:center;color:#485e70;display:flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;gap:10px;letter-spacing:.1em;margin:0 0 16px;text-transform:uppercase}.paper-doll h3:after{background:#243344;content:"";flex:1 1;height:1px}.equipment-grid{grid-gap:8px;display:grid;gap:8px;grid-template-areas:". head ." ". necklace ." "back chest ." "mainHand hands offHand" "ring1 belt ring2" ". legs ." ". feet .";grid-template-columns:repeat(3,144px);justify-content:center;padding:8px 0}.slot-head{grid-area:head}.slot-necklace{grid-area:necklace}.slot-mainHand{grid-area:mainHand}.slot-chest{grid-area:chest}.slot-offHand{grid-area:offHand}.slot-hands{grid-area:hands}.slot-ring1{grid-area:ring1}.slot-belt{grid-area:belt}.slot-ring2{grid-area:ring2}.slot-back{grid-area:back}.slot-legs{grid-area:legs}.slot-feet{grid-area:feet}.equipment-slot{align-self:stretch;background:#111e2e;border:1px dashed #243344;border-radius:3px;box-sizing:border-box;cursor:pointer;flex-direction:column;justify-self:stretch;min-height:90px;padding:8px 6px;transition:all .16s ease}.equipment-grid .equipment-slot.empty{height:auto;width:100%}.equipment-slot.empty:hover{background:#c49a2a0f;border-color:#c49a2a;transform:none}.equipment-slot.filled{background:#c49a2a0f;border:1px solid #c49a2a4d}.equipment-slot.filled:hover{background:#8b24241a;border-color:#d94444;box-shadow:none;transform:none}.slot-label{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-align:center;text-transform:uppercase}.empty-slot-icon{font-size:1.8rem;opacity:.2}.equipped-item{text-align:center;width:100%}.item-name{color:#d2c09a;font-size:12px;font-weight:600;line-height:1.3}.item-name,.two-handed-badge{font-family:Exo\ 2,sans-serif;margin-bottom:5px}.two-handed-badge{align-items:center;background:#8b242438;border:1px solid #d9444459;border-radius:2px;color:#f0d8d8;display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.06em;padding:2px 7px;text-transform:uppercase}.item-stats{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(4,1fr);margin-top:4px;width:100%}.stat-pill{align-items:center;background:#235e3c26;border:1px solid #3da86e33;border-radius:2px;display:flex;flex-direction:column;padding:3px 2px}.stat-pill-label{color:#485e70;font-size:9px;letter-spacing:.04em;text-transform:uppercase}.stat-pill-label,.stat-pill-value{font-family:Exo\ 2,sans-serif;font-weight:700;line-height:1.2}.stat-pill-value{color:#3da86e;font-size:13px}.inventory-panel{background:#0b1824;border:1px solid #243344;border-radius:3px;max-height:800px;overflow-y:auto;padding:16px;scrollbar-color:#243344 #0000;scrollbar-width:thin}.inventory-panel::-webkit-scrollbar{width:4px}.inventory-panel::-webkit-scrollbar-thumb{background:#243344;border-radius:2px}.inventory-panel h3{align-items:center;color:#485e70;display:flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;gap:10px;letter-spacing:.1em;margin:0 0 8px;text-transform:uppercase}.inventory-panel h3:after{background:#243344;content:"";flex:1 1;height:1px}.inventory-hint{color:#485e70;font-family:Crimson Pro,Georgia,serif;font-size:13px;font-style:italic;margin-bottom:12px}.inventory-grid{grid-gap:5px;gap:5px;grid-template-columns:1fr}.inventory-item{background:#111e2e;border:1px solid #243344;border-radius:3px;cursor:grab;padding:8px 12px;transition:all .14s ease}.inventory-item:hover{background:#162535;border-color:#c49a2a;transform:none}.inventory-item:active{cursor:grabbing;opacity:.7}.no-inventory{color:#485e70;font-family:Crimson Pro,Georgia,serif;font-size:15px;font-style:italic;padding:24px;text-align:center}.equipment-error,.equipment-loading{color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:14px;padding:48px;text-align:center}.equipment-error{color:#d94444}@media (max-width:1200px){.equipment-container{grid-template-columns:1fr}.inventory-panel{max-height:400px}}@media (max-width:768px){.character-equipment-screen{padding:12px}.equipment-grid{grid-template-columns:1fr}.slot-spacer{display:none}.equipment-slot{min-height:90px}}.hex-grid-container{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:8px;box-shadow:0 4px 20px #00000080;height:100%;overflow:hidden;position:relative;width:100%}.hex-grid-svg{height:100%;transition:transform .3s ease;width:100%}.hex-tile{transition:all .2s ease}.hex-tile.unlocked:hover path{stroke-width:4;filter:brightness(1.3)}.hex-tile.locked{opacity:.3}.hex-tile.current path{filter:brightness(1.2) drop-shadow(0 0 10px rgba(255,68,68,.8))}@keyframes hex-pulse{0%,to{stroke-width:3;opacity:.6}50%{stroke-width:6;opacity:1}}.hex-pulse{animation:hex-pulse 2s ease-in-out infinite}.hex-name{pointer-events:none;transition:opacity .2s ease}.hex-tile:hover .hex-name{font-size:10px;font-weight:700;opacity:1!important}.hex-emoji{pointer-events:none;-webkit-user-select:none;user-select:none}.monster-indicator,.resource-indicator{animation:bounce 1s ease-in-out infinite;pointer-events:none}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.hex-tile circle{transition:r .2s ease}.hex-tile:hover circle{r:10}.hex-grid-container.loading{animation:loading-gradient 1.5s ease-in-out infinite;background:linear-gradient(90deg,#1a1a2e,#2a2a4e 50%,#1a1a2e);background-size:200% 100%}@keyframes loading-gradient{0%{background-position:0 0}to{background-position:200% 0}}.hex-tile.locked path{fill:#1a1a2e!important;stroke:#2a2a3e!important}.hex-tile.locked text{opacity:.3}.town-hint{pointer-events:none;transition:opacity .3s ease}@media (max-width:768px){.hex-grid-container{height:100%}.hex-name{font-size:6px!important}.hex-emoji{font-size:16px!important}}.town-modal-overlay{align-items:center;animation:tmFadeIn .18s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040a14d1;display:flex;inset:0;justify-content:center;overflow:hidden;padding:24px 16px;position:fixed;z-index:1000}@keyframes tmFadeIn{0%{opacity:0}to{opacity:1}}.town-modal{--mg:#0b1824;--ms:#111e2e;--ms2:#162535;--mb:#243344;--mbr:#3a5268;--gold:#c49a2a;--gold-l:#e6b84a;--gold-d:#c49a2a29;--red:#8b2424;--red-l:#d94444;--red-d:#9b2b2b38;--grn:#1f5435;--grn-l:#3da86e;--grn-d:#235e3c38;--text:#d2c09a;--text-dim:#7a96aa;--text-mt:#485e70;animation:tmSlideUp .26s cubic-bezier(.34,1.4,.64,1);background:var(--mg);border:1px solid var(--mb);border-radius:4px 4px 6px 6px;border-top:2px solid var(--gold);box-shadow:0 0 0 1px #c49a2a0f,0 24px 64px #000000bf;box-sizing:border-box;color:var(--text);font-family:Exo\ 2,Segoe UI,sans-serif;max-height:85vh;max-width:760px;overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--mb) #0000;scrollbar-width:thin;width:100%}.town-modal::-webkit-scrollbar{width:4px}.town-modal::-webkit-scrollbar-track{background:#0000}.town-modal::-webkit-scrollbar-thumb{background:var(--mb);border-radius:2px}@keyframes tmSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tm-header{background:linear-gradient(180deg,#c49a2a12,#0000);border-bottom:1px solid var(--mb);display:flex;flex-direction:column;gap:8px;padding:18px 60px 14px 20px;position:relative}.tm-header h3{color:#f0e8d4;font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:600;letter-spacing:.025em;line-height:1.25;margin:0}.tm-header-meta{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.tm-close-btn{align-items:center;background:#8b2424;border:1px solid #d9444466;border-radius:3px;color:#f0d8d8;cursor:pointer;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:14px;font-weight:700;justify-content:center;letter-spacing:.05em;padding:5px 11px;position:absolute;right:14px;top:14px;transition:background .18s ease;-webkit-user-select:none;user-select:none}.tm-close-btn:hover{background:#d94444}.tm-badge{align-items:center;border-radius:2px;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;padding:3px 9px;text-transform:uppercase}.tm-badge--gold{background:#c49a2a26;border:1px solid #c49a2a66;color:#e6b84a}.tm-badge--green{background:#3da86e26;border:1px solid #3da86e66;color:#3da86e}.tm-badge--red{background:#9b2b2b38;border:1px solid #d9444466;color:#d94444}.tm-badge--blue{background:#42a5f526;border:1px solid #42a5f559;color:#42a5f5}.tm-badge--purple{background:#ab47bc26;border:1px solid #ab47bc59;color:#ce93d8}.tm-content{padding:16px 20px 20px}.tm-description{color:var(--text-dim);font-family:Crimson Pro,Georgia,serif;font-size:17px;font-style:italic;line-height:1.7;margin:0 0 18px}.tm-error{background:var(--red-d);border:1px solid #d9444466;border-radius:3px;color:var(--red-l);font-size:13px;margin-bottom:14px;padding:10px 14px}.tm-section-header{align-items:center;color:var(--text-mt);display:flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;gap:10px;letter-spacing:.1em;margin:0 0 11px;text-transform:uppercase}.tm-section-header:after{background:var(--mb);content:"";flex:1 1;height:1px}.tm-section-header--green{color:var(--grn-l)}.tm-section-header--gold{color:var(--gold-l)}.tm-section-header--red{color:var(--red-l)}.tm-info-grid{grid-gap:1px;background:var(--mb);border:1px solid var(--mb);border-radius:4px;display:grid;gap:1px;grid-template-columns:1fr 1fr;margin-bottom:18px;overflow:hidden}.tm-info-cell{align-items:center;background:var(--ms);display:flex;justify-content:space-between;padding:9px 13px}.tm-info-cell .label{color:var(--text-mt);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tm-info-cell .value{color:var(--text);font-size:15px;font-weight:600}.tm-info-cell--full{grid-column:1/-1}.tm-progress-section{margin-bottom:18px}.tm-standing-bar{background:#ffffff0f;border-radius:3px;height:6px;margin:6px 0;overflow:hidden}.tm-standing-fill{border-radius:3px;height:100%;transition:width .5s ease}.tm-next-bonus{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:12px;margin:4px 0 0}.tm-not-liberated{background:var(--red-d);border:1px solid #d944444d;border-radius:4px;margin-bottom:12px;padding:14px;text-align:center}.tm-not-liberated-title{color:var(--red-l);font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.tm-not-liberated p{color:var(--text-dim);font-size:14px;margin:4px 0 0}.tm-boss-spawn-card{align-items:center;background:var(--red-d);border:1px solid #d9444459;border-radius:3px;display:flex;gap:10px;margin-bottom:6px;padding:10px 13px}.tm-boss-name{color:var(--text);flex:1 1;font-size:14px;font-weight:700}.tm-boss-meta{color:var(--red-l);font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600}.tm-no-boss-warning{margin:0;padding:8px 0}.tm-fast-travel-btn,.tm-no-boss-warning{color:var(--gold-l);font-family:Exo\ 2,sans-serif;font-size:13px}.tm-fast-travel-btn{background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;border-radius:3px;cursor:pointer;display:inline-block;font-weight:700;letter-spacing:.06em;margin-bottom:12px;padding:7px 14px;text-transform:uppercase;transition:all .18s ease;-webkit-user-select:none;user-select:none;width:auto}.tm-fast-travel-btn:hover{background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 14px #c49a2a33}.tm-quests-section{margin-bottom:18px}.tm-quest-list{display:flex;flex-direction:column;gap:7px}.tm-quest-card{background:var(--ms);border:1px solid var(--mb);border-radius:3px;padding:12px 14px;transition:border-color .16s}.tm-quest-card:hover{border-color:var(--mbr)}.tm-quest-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.tm-quest-type{color:var(--text-mt);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tm-quest-reward{color:var(--gold-l);font-size:13px;font-weight:700}.tm-quest-description{color:var(--text-dim);font-family:Crimson Pro,Georgia,serif;font-size:15px;font-style:italic;line-height:1.5;margin:0 0 10px}.tm-quest-progress{font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600;margin:0 0 10px}.tm-quest-progress--ready{color:var(--grn-l)}.tm-quest-progress--pending{color:var(--gold-l)}.tm-complete-quest-btn{background:var(--grn);border:1px solid #3da86e66;border-radius:3px;box-sizing:border-box;color:#c6f0da;cursor:pointer;display:block;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.05em;padding:9px;transition:background .18s ease;width:100%}.tm-complete-quest-btn:hover:not(:disabled){background:#276b44}.tm-complete-quest-btn:disabled{cursor:not-allowed;opacity:.5}.tm-bonuses-section{margin-bottom:18px}.tm-bonus-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.tm-bonus-slot{display:flex;flex-direction:column;gap:7px}.tm-bonus-slot-title{border-bottom:1px solid var(--mb);color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;padding-bottom:6px;text-align:center;text-transform:uppercase}.tm-bonus-tier{background:var(--ms);border:1px solid var(--mb);border-radius:3px;padding:10px 12px;transition:border-color .16s}.tm-bonus-tier--active{background:var(--grn-d);border-color:var(--grn-l)}.tm-bonus-tier--locked{opacity:.55}.tm-bonus-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.tm-bonus-name{color:var(--text);font-size:13px;font-weight:700}.tm-bonus-level{background:var(--ms2);border:1px solid var(--mb);border-radius:2px;color:var(--text-dim);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;padding:2px 7px}.tm-bonus-description{color:var(--text-dim);font-size:12px;line-height:1.4;margin:0 0 6px}.tm-bonus-status-badge{align-items:center;border-radius:2px;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;padding:2px 8px;text-transform:uppercase}.tm-bonus-status-badge--active{background:var(--grn-d);border:1px solid #3da86e59;color:var(--grn-l)}.tm-bonus-status-badge--locked{background:var(--ms2);border:1px solid var(--mb);color:var(--text-mt)}.tm-actions{border-top:1px solid var(--mb);display:flex;gap:10px;justify-content:flex-end;padding:14px 20px 18px}.tm-cancel-btn{background:#0000;border:1px solid var(--mb);border-radius:3px;color:var(--text-dim);cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.05em;padding:9px 20px;transition:all .18s ease;-webkit-user-select:none;user-select:none}.tm-cancel-btn:hover{background:var(--ms2);border-color:var(--mbr);color:var(--text)}@media (max-width:768px){.tm-bonus-grid,.tm-info-grid{grid-template-columns:1fr}}.hex-world-map{--mg:#0b1824;--ms:#111e2e;--ms2:#162535;--mb:#243344;--mbr:#3a5268;--gold:#c49a2a;--gold-l:#e6b84a;--gold-d:#c49a2a29;--red:#8b2424;--red-l:#d94444;--red-d:#9b2b2b38;--grn:#1f5435;--grn-l:#3da86e;--grn-d:#235e3c38;--text:#d2c09a;--text-dim:#7a96aa;--text-mt:#485e70;background:linear-gradient(135deg,#0f0f1e,#1a1a2e);box-sizing:border-box;color:var(--text);display:flex;flex-direction:column;font-family:Exo\ 2,Segoe UI,sans-serif;height:calc(100vh - 140px);min-height:500px;overflow:hidden;padding:14px 20px 0}.hex-world-header{align-items:center;border-bottom:1px solid var(--mb);display:flex;flex-shrink:0;flex-wrap:wrap;gap:14px;margin-bottom:10px;padding-bottom:10px}.hex-world-header h2{color:#f0e8d4;font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:600;letter-spacing:.025em;margin:0;white-space:nowrap}.world-description{color:var(--text-dim);flex:1 1;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.travel-points{align-items:center;background:var(--ms);border:1px solid var(--mb);border-radius:3px;border-top:2px solid var(--gold);display:flex;flex-shrink:0;gap:8px;padding:5px 12px;white-space:nowrap}.tp-label{color:var(--text-mt);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.tp-label,.tp-value{font-family:Exo\ 2,sans-serif;font-weight:700}.tp-value{color:var(--gold-l);font-size:16px}.hwm-gathering-badge{align-items:center;background:var(--red-d);border:1px solid #d9444466;border-radius:3px;color:var(--red-l);display:inline-flex;flex-shrink:0;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;padding:5px 10px;text-transform:uppercase;white-space:nowrap}.map-controls{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;padding:10px 0 14px}.hwm-ctrl-btn{background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;border-radius:3px;color:var(--gold-l);cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.04em;padding:7px 14px;transition:all .18s ease;white-space:nowrap;width:auto}.hwm-ctrl-btn:hover:not(:disabled){background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 10px #c49a2a2e}.hwm-ctrl-btn:disabled{cursor:not-allowed;opacity:.35}.zoom-display{background:var(--ms);border:1px solid var(--mb);border-radius:3px;color:var(--text-dim);font-size:13px;min-width:60px;padding:6px 12px;text-align:center}.tile-count,.zoom-display{font-family:Exo\ 2,sans-serif}.tile-count{color:var(--text-mt);font-size:12px;padding:0 6px}.refresh-button{margin-left:auto}.info-message{background:#42a5f514;border:1px solid #42a5f54d;border-radius:3px;color:#7ab8e8}.error-message,.info-message{font-family:Exo\ 2,sans-serif;font-size:14px;margin-bottom:16px;padding:12px 16px}.error-message{background:var(--red-d);border:1px solid #d9444466;border-radius:3px;color:var(--red-l)}.no-map-message{background:var(--ms);border:1px solid var(--mb);border-radius:4px;color:var(--text-dim);font-family:Exo\ 2,sans-serif;font-size:16px;padding:40px;text-align:center}.tile-modal-overlay{align-items:center;animation:hmFadeIn .18s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040a14d1;display:flex;inset:0;justify-content:center;overflow:hidden;padding:24px 16px;position:fixed;z-index:1000}@keyframes hmFadeIn{0%{opacity:0}to{opacity:1}}.hex-modal{--mg:#0b1824;--ms:#111e2e;--ms2:#162535;--mb:#243344;--mbr:#3a5268;--gold:#c49a2a;--gold-l:#e6b84a;--gold-d:#c49a2a29;--red:#8b2424;--red-l:#d94444;--red-d:#9b2b2b38;--grn:#1f5435;--grn-l:#3da86e;--grn-d:#235e3c38;--text:#d2c09a;--text-dim:#7a96aa;--text-mt:#485e70;animation:hmSlideUp .26s cubic-bezier(.34,1.4,.64,1);background:var(--mg);border:1px solid var(--mb);border-radius:4px 4px 6px 6px;border-top:2px solid var(--gold);box-shadow:0 0 0 1px #c49a2a0f,0 24px 64px #000000bf,0 0 100px #0b1824e6;box-sizing:border-box;color:var(--text);font-family:Exo\ 2,Segoe UI,sans-serif;max-height:85vh;max-width:580px;overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--mb) #0000;scrollbar-width:thin;width:100%}.hex-modal::-webkit-scrollbar{width:4px}.hex-modal::-webkit-scrollbar-track{background:#0000}.hex-modal::-webkit-scrollbar-thumb{background:var(--mb);border-radius:2px}@keyframes hmSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:linear-gradient(180deg,#c49a2a12,#0000);border-bottom:1px solid var(--mb);flex-direction:column;gap:10px;padding:18px 60px 14px 20px;position:relative}.modal-header-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.modal-header-meta{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.modal-header h3{color:#f0e8d4;font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:600;letter-spacing:.025em;line-height:1.25}.hm-close-btn{align-items:center;background:#8b2424;border:1px solid #d9444466;border-radius:3px;color:#f0d8d8;cursor:pointer;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:14px;font-weight:700;justify-content:center;letter-spacing:.05em;padding:5px 11px;position:absolute;right:14px;top:14px;transition:background .18s ease;-webkit-user-select:none;user-select:none}.hm-close-btn:hover{background:#d94444}.zone-badge{align-items:center;border-radius:2px;display:inline-flex;font-size:12px;font-weight:700;letter-spacing:.08em;padding:3px 9px;text-transform:uppercase}.zone-1{background:#66bb6a26;border:1px solid #66bb6a59;color:#66bb6a}.zone-2{background:#42a5f526;border:1px solid #42a5f559;color:#42a5f5}.zone-3{background:#ab47bc26;border:1px solid #ab47bc59;color:#ce93d8}.zone-4{background:#ff704326;border:1px solid #ff704359;color:#ff8a65}.zone-5{background:#ffa72626;border:1px solid #ffa72659;color:#ffa726}.zone-6{background:#ec407a26;border:1px solid #ec407a59;color:#f48fb1}.hex-modal .travel-button{background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;border-radius:3px;color:var(--gold-l);cursor:pointer;flex-shrink:0;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em;padding:7px 14px;text-transform:uppercase;transition:all .18s ease;white-space:nowrap}.hex-modal .travel-button:hover:not(:disabled){background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 14px #c49a2a33}.hex-modal .travel-button:disabled{background:var(--ms2);border-color:var(--mb);color:var(--text-mt);cursor:not-allowed;opacity:.35}.hex-modal .modal-content{max-height:none;overflow-y:visible;padding:16px 20px 20px}.tile-description{color:var(--text-dim);font-family:Crimson Pro,Georgia,serif;font-size:17px;font-style:italic;line-height:1.7;margin:0 0 16px}.tile-info-grid{grid-gap:1px;background:var(--mb);border:1px solid var(--mb);border-radius:4px;display:grid;gap:1px;grid-template-columns:1fr 1fr;margin-bottom:18px;overflow:hidden}.info-item{align-items:center;background:var(--ms);display:flex;justify-content:space-between;padding:9px 13px}.info-item .label{color:var(--text-mt);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.info-item .value{color:var(--text);font-size:15px;font-weight:600}.battle-setup-section h4,.gathering-section h4,.monsters-section h4,.resources-section h4{align-items:center;display:flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;gap:10px;letter-spacing:.1em;margin:0 0 11px;text-transform:uppercase}.battle-setup-section h4,.monsters-section h4,.resources-section h4{color:var(--text-mt)}.gathering-section h4{color:var(--grn-l)}.battle-setup-section h4:after,.gathering-section h4:after,.monsters-section h4:after,.resources-section h4:after{background:var(--mb);content:"";flex:1 1;height:1px}.resources-section{margin-bottom:18px}.resources-list{display:flex;flex-direction:column;gap:7px}.resource-item{align-items:center;background:var(--ms);border:1px solid var(--mb);border-radius:3px;display:flex;gap:10px;padding:7px 13px;transition:border-color .18s}.resource-item:hover{border-color:var(--mbr)}.resource-header{align-items:center;display:flex;flex-shrink:0;gap:7px;min-width:130px}.resource-name{color:var(--text);font-size:14px;font-weight:600;white-space:nowrap}.resource-rarity{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.resource-stock{align-items:center;display:flex;flex:1 1;gap:8px}.stock-bar{background:#ffffff0f;flex:1 1;height:4px}.stock-bar,.stock-fill{border-radius:2px;overflow:hidden}.stock-fill{height:100%;position:relative;transition:width .4s ease}.stock-fill:after{animation:hmShimmer 2.6s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);content:"";inset:0;position:absolute}@keyframes hmShimmer{0%{opacity:0;transform:translateX(-200%)}30%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateX(200%)}}.stock-text{font-feature-settings:"tnum";font-size:13px;font-variant-numeric:tabular-nums}.respawn-info,.stock-text{color:var(--text-mt);white-space:nowrap}.respawn-info{flex-shrink:0;font-size:12px}.monsters-section{margin-bottom:18px;margin-top:18px}.monsters-list{display:flex;flex-direction:column;gap:5px}.monster-item{align-items:center;background:var(--ms);border:1px solid var(--mb);border-radius:3px;display:flex;justify-content:space-between;padding:9px 13px;transition:all .16s ease}.monster-item:hover{background:var(--ms2);border-color:var(--mbr)}.monster-item.monster-selected{background:var(--red-d);border-color:var(--red-l)}.monster-item.monster-unavailable{opacity:.5}.monster-info{align-items:center;display:flex;flex:1 1;gap:10px;justify-content:space-between;margin-bottom:0}.monster-name{color:var(--text);font-size:15px;font-weight:600}.monster-level{color:#ffa726;font-size:11px;font-weight:700}.monster-details{display:flex;flex-direction:column;gap:3px}.monster-type{font-size:13px;font-weight:600}.boss-card{background:linear-gradient(135deg,#8b242440,#64147833);border:1px solid #d32f2f80;border-radius:4px;margin-top:8px;padding:14px}.battle-setup-section{margin-bottom:18px}.character-selection-list{display:flex;flex-direction:column;gap:5px}.char-card{align-items:center;background:var(--ms);border:1px solid var(--mb);border-radius:3px;cursor:pointer;display:flex;gap:10px;justify-content:space-between;padding:10px 13px;transition:all .16s ease}.char-card:hover{background:var(--ms2);border-color:var(--mbr)}.char-card.char-selected{background:var(--grn-d);border-color:var(--grn-l)}.char-card-name{color:var(--text);font-size:15px;font-weight:600;margin-bottom:2px}.char-card-sub{color:var(--text-dim);font-size:13px}.char-check{align-items:center;background:var(--grn-d);border:1px solid var(--grn-l);border-radius:2px;color:var(--grn-l);display:flex;flex-shrink:0;font-size:10px;height:18px;justify-content:center;width:18px}.gathering-section{background:#235e3c1f;border:1px solid #3da86e59;border-radius:4px;margin-bottom:0;margin-top:14px;padding:14px}.gathering-active-card{background:#235e3c33;border:1px solid #3da86e40;border-radius:3px;margin-bottom:10px;padding:11px 13px}.gathering-stop-btn{background:var(--red);border:1px solid #d9444466;border-radius:3px;color:#f0d8d8;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.05em;padding:9px;transition:all .18s ease;width:100%}.gathering-stop-btn:hover:not(:disabled){background:var(--red-l)}.gathering-stop-btn:disabled{cursor:not-allowed;opacity:.45}.gathering-select{background:var(--ms);border:1px solid var(--mb);border-radius:3px;box-sizing:border-box;color:var(--text);font-family:Exo\ 2,sans-serif;font-size:13px;margin-bottom:8px;padding:8px 10px;width:100%}.gathering-select:focus{border-color:var(--grn-l);outline:none}.gathering-start-btn{background:#3a3a3a;border:none;border-radius:3px;color:var(--text-mt);cursor:not-allowed;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.05em;padding:9px;transition:all .18s ease;width:100%}.gathering-start-btn.ready{background:var(--grn);border:1px solid #3da86e66;color:#c6f0da;cursor:pointer}.gathering-start-btn.ready:hover:not(:disabled){background:#276b44}.gathering-start-btn:disabled{opacity:.5}.modal-actions{border-top:1px solid var(--mb);gap:10px;margin-top:20px;padding-top:16px}.battle-button{background:linear-gradient(135deg,#9b2424,#6e1a1a);border:1px solid #d9444459;border-radius:3px;color:#f5d5d5;cursor:pointer;flex:1 1;font-family:Cinzel,Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.08em;padding:13px;transition:all .2s ease}.battle-button:hover:not(:disabled){background:linear-gradient(135deg,#c62828,#9b2424);border-color:#d9444499;box-shadow:0 0 22px #d9444438}.battle-button:disabled{background:linear-gradient(135deg,#2e1818,#1e1010);border-color:var(--mb);color:var(--text-mt);cursor:not-allowed;opacity:.38}.cancel-button{background:#0000;border:1px solid var(--mb);border-radius:3px;color:var(--text-dim);cursor:pointer;font-size:12px;padding:12px 20px;transition:all .18s ease}.cancel-button:hover{background:var(--ms2);border-color:var(--mbr);color:var(--text)}.current-location-notice{background:#2196f312;border:1px solid #2196f338;border-radius:3px;color:#64b5f6;flex:1 1;font-size:14px;font-weight:600;letter-spacing:.05em;padding:13px;text-align:center}@media (max-width:768px){.hex-world-header{align-items:flex-start;flex-direction:column;gap:15px}.world-status{align-items:flex-start;width:100%}.monsters-list,.tile-info-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}}.battle-effects-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1000}.floating-text{animation:floatUp 2s ease-out forwards;font-size:18px;font-weight:700;pointer-events:none;position:absolute;z-index:1001}.damage-text,.floating-text{text-shadow:2px 2px 4px #000c}.damage-text{color:#f44}.healing-text{color:#4f4}.critical-text,.healing-text{text-shadow:2px 2px 4px #000c}.critical-text{animation:criticalFloat 2s ease-out forwards;color:#fa0;font-size:22px}.passive-text{color:#8cf}.passive-text,.status-text{font-size:16px;text-shadow:2px 2px 4px #000c}.status-text{color:#c8f}.combo-text{animation:criticalFloat 2.2s ease-out forwards;color:#f80;font-size:24px;font-weight:900;text-shadow:2px 2px 4px #000000e6,0 0 10px #f809;text-transform:uppercase}.passive-notifications{display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;top:20px;z-index:1002}.passive-notification{align-items:center;animation:slideInRight .4s ease-out,fadeOut .4s ease-in 2.6s forwards;background:#0b1824;border:1px solid #243344;border-left:4px solid;border-radius:3px;box-shadow:0 4px 16px #0009;display:flex;max-width:380px;min-width:260px;padding:10px 14px;pointer-events:auto}.passive-notification.passive-berserker{background:linear-gradient(135deg,#ff6b351a,#000000e6);border-left-color:#ff6b35}.passive-notification.passive-vampiric{background:linear-gradient(135deg,#dc143c1a,#000000e6);border-left-color:#dc143c}.passive-notification.passive-guardian{background:linear-gradient(135deg,#4169e11a,#000000e6);border-left-color:#4169e1}.passive-notification.passive-critical-master{background:linear-gradient(135deg,#ffd7001a,#000000e6);border-left-color:gold}.passive-notification.passive-skill-reflect{background:linear-gradient(135deg,#9370db1a,#000000e6);border-left-color:#9370db}.passive-notification.passive-regeneration{background:linear-gradient(135deg,#32cd321a,#000000e6);border-left-color:#32cd32}.passive-icon{filter:drop-shadow(0 0 4px rgba(255,255,255,.3));flex-shrink:0;font-size:24px;margin-right:12px}.passive-content{flex:1 1;min-width:0}.passive-title{color:#d2c09a;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.03em;margin-bottom:2px}.passive-description{color:#7a96aa;font-family:Crimson Pro,Georgia,serif;font-size:13px;font-style:italic;line-height:1.35}.battle-unit-container{position:relative}.unit-effect{left:50%;pointer-events:none;position:absolute;top:-10px;transform:translateX(-50%);z-index:100}.unit-effect.berserker-rage{animation:pulse 1s ease-in-out;color:#ff6b35;font-size:16px}.unit-effect.vampiric-heal{animation:floatUp 1.5s ease-out forwards;color:#32cd32;font-size:14px}.unit-effect.guardian-shield{animation:shieldPulse 1s ease-in-out;color:#4169e1;font-size:18px}.unit-effect.critical-glow{animation:sparkle 1s ease-out;color:gold;font-size:20px}.unit-effect.skill-reflect{animation:reflect 1s ease-in-out;color:#9370db;font-size:16px}.unit-effect.regeneration{animation:regen 2s ease-in-out infinite;color:#32cd32;font-size:14px}@keyframes floatUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-60px)}}@keyframes criticalFloat{0%{opacity:1;transform:translateY(0) scale(1)}20%{transform:translateY(-10px) scale(1.2)}to{opacity:0;transform:translateY(-60px) scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}@keyframes shieldPulse{0%,to{filter:drop-shadow(0 0 5px #4169e1);opacity:1;transform:translateX(-50%) scale(1)}50%{filter:drop-shadow(0 0 10px #4169e1);opacity:.9;transform:translateX(-50%) scale(1.1)}}@keyframes sparkle{0%{opacity:1;transform:translateX(-50%) rotate(0deg) scale(1)}50%{opacity:.8;transform:translateX(-50%) rotate(180deg) scale(1.3)}to{opacity:0;transform:translateX(-50%) rotate(1turn) scale(1)}}@keyframes reflect{0%,to{opacity:1;transform:translateX(-50%) scale(1)}25%{transform:translateX(-60%) scale(1.1)}75%{transform:translateX(-40%) scale(1.1)}}@keyframes regen{0%,to{opacity:.6;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(-5px)}}@media (max-width:768px){.passive-notifications{right:10px;top:10px}.passive-notification{max-width:300px;min-width:240px;padding:10px}.floating-text{font-size:16px}.critical-text{font-size:20px}}.battle-victory-overlay{align-items:center;animation:fadeIn .4s ease-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#040a14e0;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.victory-content{background:#0b1824;border:1px solid #243344;border-radius:4px 4px 6px 6px;border-top:3px solid #c49a2a;box-shadow:0 0 0 1px #c49a2a14,0 32px 80px #000c;max-height:88vh;max-width:700px;opacity:0;overflow-y:auto;padding:2rem 2.5rem;scrollbar-color:#243344 #0000;scrollbar-width:thin;transform:translateY(20px) scale(.97);transition:all .4s cubic-bezier(.34,1.4,.64,1);width:90%}.victory-content.show{opacity:1;transform:translateY(0) scale(1)}.victory-header{margin-bottom:1.5rem;position:relative;text-align:center}.victory-title{animation:victoryGlow 2s ease-in-out infinite alternate,slideDown .6s cubic-bezier(.34,1.4,.64,1);color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:2.8rem;font-weight:700;letter-spacing:.12em;margin:0;text-shadow:0 0 20px #c49a2a80,0 0 40px #c49a2a40}@keyframes victoryGlow{0%{text-shadow:0 0 20px #c49a2a66,0 0 40px #c49a2a33}to{text-shadow:0 0 30px #c49a2ab3,0 0 60px #c49a2a59,0 0 80px #c49a2a26}}.victory-banner{animation:expandBanner .8s ease-out .3s both;background:linear-gradient(90deg,#0000,#c49a2a 50%,#0000);height:2px;margin-top:1rem}@keyframes expandBanner{0%{margin-left:50%;width:0}to{margin-left:0;width:100%}}.bonuses-section,.experience-section,.loot-section,.tiles-section{margin-bottom:1.5rem}.experience-section{background:#111e2e;border:1px solid #243344;border-left:3px solid #c49a2a;border-radius:3px;padding:1.25rem 1.5rem}.experience-section h2{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;margin:0 0 1rem;text-transform:uppercase}.exp-amount{animation:countUp 1.5s ease-out;color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:2.8rem;font-weight:700;text-align:center}@keyframes countUp{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.character-xp-list{display:flex;flex-direction:column;gap:.6rem}.character-xp-item{grid-gap:.4rem;background:#162535;border:1px solid #243344;border-radius:3px;display:grid;gap:.4rem;grid-template-columns:1fr auto;padding:.65rem .9rem}.character-xp-name{color:#d2c09a;font-family:Exo\ 2,sans-serif;font-size:14px;font-weight:600;grid-column:1}.character-xp-level{color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:12px;grid-column:2;text-align:right}.character-xp-progress{grid-column:1/-1}.xp-bar-container{background:#ffffff0f;border-radius:3px;height:6px;margin-bottom:.2rem;width:100%}.xp-bar-fill{background:linear-gradient(90deg,#c49a2a,#e6b84a);border-radius:3px;overflow:hidden;transition:width 1s ease-out}.xp-bar-fill:after{animation:shimmer 2.6s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);inset:0}.xp-text{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:11px;text-align:center}.bonuses-section{animation:slideUp .5s ease-out;background:#111e2e;border:1px solid #243344;border-left:3px solid #c49a2a;border-radius:3px;padding:1.25rem 1.5rem}.bonuses-section h2{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;margin:0 0 1rem;text-transform:uppercase}.bonuses-grid{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.bonus-item{align-items:center;background:#162535;border:1px solid #243344;border-radius:3px;display:flex;gap:.75rem;justify-content:space-between;padding:8px 12px}.bonus-icon{flex-shrink:0;font-size:1.2rem}.bonus-label{color:#7a96aa;flex:1 1;font-size:12px;font-weight:500}.bonus-label,.bonus-value{font-family:Exo\ 2,sans-serif}.bonus-value{background:#c49a2a1f;border:1px solid #c49a2a4d;border-radius:2px;color:#e6b84a;font-size:13px;font-weight:700;padding:2px 8px}.bonuses-note{color:#7a96aa;font-family:Crimson Pro,Georgia,serif;font-size:13px;font-style:italic;margin:.4rem 0 0}.loot-section h2,.tiles-section h2{align-items:center;color:#485e70;display:flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;gap:8px;letter-spacing:.1em;margin:0 0 .75rem;text-transform:uppercase}.loot-section h2:after,.tiles-section h2:after{background:#243344;content:"";flex:1 1;height:1px}.loot-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.loot-item{animation:popIn .4s ease-out both;background:#111e2e;border:1px solid #243344;border-radius:3px;overflow:hidden;padding:.75rem .9rem;position:relative;text-align:center;transition:border-color .2s ease,background .2s ease}.loot-item:hover{background:#162535;border-color:#3a5268}@keyframes popIn{0%{opacity:0;transform:scale(.85)}70%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.loot-quantity{background:#162535;border:1px solid #243344;border-radius:2px;color:#7a96aa;font-size:11px;font-weight:700;padding:1px 6px;position:absolute;right:6px;top:6px}.loot-name,.loot-quantity{font-family:Exo\ 2,sans-serif}.loot-name{font-size:13px;font-weight:600;margin:.4rem 0 .2rem}.loot-rarity{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.no-loot-section{color:#485e70;font-family:Crimson Pro,Georgia,serif;font-size:15px;font-style:italic;padding:1.5rem;text-align:center}.tiles-section{animation:slideUp .5s ease-out}.tiles-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.tile-unlocked{align-items:center;animation:popIn .4s ease-out both;background:#c49a2a14;border:1px solid #c49a2a4d;border-radius:3px;display:flex;flex-direction:column;gap:.4rem;padding:1rem;text-align:center;transition:background .2s ease,border-color .2s ease}.tile-unlocked:hover{background:#c49a2a24;border-color:#c49a2a}.tile-icon{font-size:2rem}.tile-name{color:#e6b84a;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600;letter-spacing:.04em}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.victory-footer{border-top:1px solid #243344;margin-top:.5rem;padding-top:1.5rem;text-align:center}.continue-btn{background:linear-gradient(135deg,#1f5435,#163d27);border:1px solid #3da86e66;border-radius:3px;color:#c6f0da;cursor:pointer;font-family:Cinzel,Georgia,serif;font-size:15px;font-weight:600;letter-spacing:.1em;padding:12px 40px;transition:all .2s ease}.continue-btn:hover:not(:disabled){background:linear-gradient(135deg,#276b44,#1f5435);box-shadow:0 0 24px #3da86e40}.continue-btn:disabled{cursor:not-allowed;opacity:.4}@media (max-width:768px){.victory-content{padding:1.5rem 1.25rem}.victory-title{font-size:2rem}.exp-amount{font-size:2.2rem}.loot-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}.battle-unit-equipment{bottom:2px;display:flex;gap:1px;position:absolute;right:2px;z-index:10}.battle-equipment-icon{align-items:center;background:#000000b3;border:1px solid #ffffff4d;border-radius:2px;cursor:help;display:flex;font-size:6px;height:12px;justify-content:center;position:relative;transition:transform .2s ease;width:12px}.battle-equipment-icon:hover{transform:scale(1.2);z-index:20}.battle-equipment-icon .equipment-image{border-radius:1px;height:100%;object-fit:cover;width:100%}.battle-equipment-icon .equipment-fallback{color:#fff;font-size:6px;line-height:1;text-shadow:0 0 2px #000c}.battle-equipment-icon .equipment-type-indicator{border:1px solid #fffc;border-radius:50%;height:4px;position:absolute;right:-1px;top:-1px;width:4px}.battle-equipment-icon.weapon .equipment-type-indicator{background-color:#f44}.battle-equipment-icon.armor .equipment-type-indicator{background-color:#44f}.battle-equipment-icon.accessory .equipment-type-indicator{background-color:#4f4}.battle-equipment-icon:hover:after{word-wrap:break-word;background:#000000e6;border:1px solid #fff3;border-radius:3px;bottom:100%;color:#fff;content:attr(title);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:10px;margin-bottom:2px;max-width:200px;padding:4px 6px;pointer-events:none;position:absolute;right:0;white-space:nowrap;z-index:1000}.battle-equipment-icon:hover:before{border:3px solid #0000;border-top-color:#000000e6;bottom:100%;content:"";pointer-events:none;position:absolute;right:6px;z-index:1000}@media (max-width:768px){.battle-equipment-icon{font-size:5px;height:10px;width:10px}.battle-equipment-icon .equipment-type-indicator{height:3px;width:3px}.battle-equipment-icon:hover:after{font-size:9px;padding:3px 5px}}.equipment-icon{cursor:pointer;display:inline-block;position:relative;transition:transform .2s ease,box-shadow .2s ease}.equipment-icon:hover{transform:translateY(-2px);z-index:10}.equipment-icon-container{align-items:center;background-color:#16213e;border:2px solid #0f3460;border-radius:8px;display:flex;justify-content:center;overflow:hidden;position:relative;transition:border-color .2s ease}.equipment-icon:hover .equipment-icon-container{border-color:#e94560;box-shadow:0 4px 12px #e945604d}.equipment-icon-small .equipment-icon-container{height:32px;width:32px}.equipment-icon-medium .equipment-icon-container{height:48px;width:48px}.equipment-icon-large .equipment-icon-container{height:64px;width:64px}.equipment-image{display:block;height:100%;object-fit:cover;width:100%}.equipment-fallback{align-items:center;border-radius:6px;display:flex;font-size:1.2em;font-weight:700;height:100%;justify-content:center;width:100%}.equipment-icon-small .equipment-fallback{font-size:.9em}.equipment-icon-large .equipment-fallback{font-size:1.6em}.equipment-type-indicator{align-items:center;border:1px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:8px;font-weight:700;height:14px;justify-content:center;position:absolute;right:-2px;text-shadow:1px 1px 1px #000c;top:-2px;width:14px}.equipment-type-indicator.weapon{background-color:#e74c3c}.equipment-type-indicator.armor{background-color:#3498db}.equipment-type-indicator.accessory{background-color:#9b59b6}.equipment-icon-small .equipment-type-indicator{font-size:7px;height:12px;width:12px}.equipment-icon-large .equipment-type-indicator{font-size:10px;height:18px;width:18px}.equipment-tooltip{background-color:#16213e;border:2px solid #0f3460;border-radius:8px;bottom:100%;box-shadow:0 8px 24px #0006;margin-bottom:8px;min-width:200px;padding:12px;pointer-events:none;z-index:1000}.equipment-tooltip,.equipment-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.equipment-tooltip:after{border:8px solid #0000;border-top-color:#0f3460;content:"";top:100%}.tooltip-header{align-items:flex-start;border-bottom:1px solid #0f3460;display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px}.tooltip-header h4{color:#e94560;font-size:14px;font-weight:700;margin:0}.tooltip-type{color:#aaa;font-size:12px;font-weight:400;letter-spacing:1px;text-transform:uppercase}.tooltip-stats{display:flex;flex-direction:column;gap:4px}.stat-line{align-items:center;display:flex;font-size:12px;justify-content:space-between}.stat-label{color:#ccc}.stat-value{color:#4caf50}.equipment-slot{align-items:center;background-color:#1a1a2e;border:2px dashed #666;border-radius:8px;display:flex;justify-content:center;position:relative;transition:all .2s ease}.equipment-slot.empty{color:#666;font-size:.9em}.equipment-slot.empty:hover{background-color:#e945601a;border-color:#e94560}.equipment-slot.filled{background-color:#4caf501a;border-color:#4caf50;border-style:solid}@media (max-width:768px){.equipment-tooltip{font-size:12px;min-width:180px}.tooltip-header h4{font-size:13px}.stat-line{font-size:11px}}.crafting-container{--mg:#0b1824;--ms:#111e2e;--ms2:#162535;--mb:#243344;--mbr:#3a5268;--gold:#c49a2a;--gold-l:#e6b84a;--gold-d:#c49a2a29;--red:#8b2424;--red-l:#d94444;--red-d:#9b2b2b38;--grn:#1f5435;--grn-l:#3da86e;--grn-d:#235e3c38;--text:#d2c09a;--text-dim:#7a96aa;--text-mt:#485e70;color:var(--text);font-family:Exo\ 2,Segoe UI,sans-serif;padding:20px}.crafting-container .crafting-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.crafting-container .crafting-header>div:first-child{flex:1 1}.crafting-container .crafting-header h2{color:var(--gold-l);font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:600;letter-spacing:.04em;margin:0 0 6px;text-align:left}.crafting-container .crafting-header p{color:var(--text-dim);font-family:Crimson Pro,Georgia,serif;font-size:16px;font-style:italic;margin:0;text-align:left}.crafting-container .recipe-discovery-stats{background:var(--ms);border:1px solid var(--mb);border-radius:4px;border-top:2px solid var(--gold);box-shadow:0 4px 16px #00000059;min-width:170px;padding:14px 20px;text-align:center}.crafting-container .discovery-label{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:6px;text-transform:uppercase}.crafting-container .discovery-count{color:var(--text);font-family:Exo\ 2,sans-serif;font-size:22px;font-weight:700;line-height:1;margin-bottom:4px}.crafting-container .discovery-percentage{color:var(--gold-l);font-family:Exo\ 2,sans-serif;font-size:14px;font-weight:600;text-shadow:none}.crafting-container .crafting-tabs{border-bottom:1px solid var(--mb);display:flex;gap:0;margin-bottom:24px}.crafting-container .crafting-tab-btn{align-items:center;background:none;border:none;border-bottom:2px solid #0000;border-radius:0;box-shadow:none;color:var(--text-dim);cursor:pointer;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;gap:6px;letter-spacing:.1em;margin-bottom:-1px;overflow:visible;padding:10px 18px;position:relative;text-transform:uppercase;transition:all .18s ease;width:auto}.crafting-container .crafting-tab-btn:before{display:none}.crafting-container .crafting-tab-btn:hover{background:var(--gold-d);color:var(--gold-l)}.crafting-container .crafting-tab-btn.active{background:var(--gold-d);border-bottom-color:var(--gold);color:var(--gold-l)}.crafting-container .crafting-loading{align-items:center;background:none;color:var(--text-mt);display:flex;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;justify-content:center;letter-spacing:.1em;min-height:300px;text-transform:uppercase}.crafting-container .crafting-error{align-items:center;background:var(--red-d);border:1px solid #d9444466;border-left:3px solid var(--red-l);border-radius:3px;color:#f0d8d8;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 14px}.crafting-container .crafting-error .close-error{background:none;border:none;border-radius:0;box-shadow:none;color:#f0d8d8;cursor:pointer;font-size:18px;line-height:1;padding:0 0 0 12px;width:auto}.crafting-container .crafting-tab-content{animation:cfFadeIn .22s ease-out}@keyframes cfFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.crafting-container .crafting-section-header{align-items:center;color:var(--text-mt);display:flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;gap:10px;letter-spacing:.1em;margin:0 0 14px;text-transform:uppercase}.crafting-container .crafting-section-header:after{background:var(--mb);content:"";flex:1 1;height:1px}.crafting-container .crafting-section-header--gold{color:var(--gold-l)}.crafting-container .crafting-section-header--green{color:var(--grn-l)}.crafting-container .cf-badge{align-items:center;border-radius:2px;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.07em;padding:2px 7px;text-transform:uppercase;white-space:nowrap}.crafting-container .cf-badge--amber{background:#c49a2a26;border:1px solid #c49a2a59;color:var(--gold-l)}.crafting-container .cf-badge--green{background:var(--grn-d);border:1px solid #3da86e59;color:var(--grn-l)}.crafting-container .cf-badge--red{background:var(--red-d);border:1px solid #d9444459;color:var(--red-l)}.crafting-container .cf-badge--blue{background:#42a5f526;border:1px solid #42a5f559;color:#42a5f5}.crafting-container .cf-badge--purple{background:#ab47bc26;border:1px solid #ab47bc59;color:#ce93d8}.crafting-container .cf-badge--dim{background:#ffffff0a;border:1px solid var(--mb);color:var(--text-dim)}.crafting-container .cf-stock-bar{background:#ffffff0f;border-radius:2px;flex:1 1;height:4px;min-width:40px;overflow:hidden}.crafting-container .cf-stock-fill{border-radius:2px;height:100%;overflow:hidden;position:relative;transition:width .4s ease}.crafting-container .cf-stock-fill:after{animation:cfShimmer 2.6s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);content:"";inset:0;position:absolute}@keyframes cfShimmer{0%{opacity:0;transform:translateX(-200%)}30%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateX(200%)}}.crafting-container .crafting-inv-list{display:flex;flex-direction:column;gap:5px}.crafting-container .crafting-inv-row{align-items:center;background:var(--ms);border:1px solid var(--mb);border-radius:3px;display:flex;gap:12px;padding:10px 14px;transition:all .16s ease}.crafting-container .crafting-inv-row:hover{background:var(--ms2);border-color:var(--mbr)}.crafting-container .crafting-inv-icon{flex-shrink:0;font-size:20px;opacity:.75;text-align:center;width:28px}.crafting-container .crafting-inv-info{flex:1 1;min-width:0}.crafting-container .crafting-inv-name{color:var(--text);font-size:14px;font-weight:600;line-height:1.2}.crafting-container .crafting-inv-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:3px}.crafting-container .crafting-inv-type{color:var(--text-mt);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.crafting-container .crafting-inv-desc{color:var(--text-dim);display:none;font-family:Crimson Pro,Georgia,serif;font-size:13px;font-style:italic}.crafting-container .crafting-inv-row:hover .crafting-inv-desc{display:block}.crafting-container .crafting-inv-bar-col{align-items:flex-end;display:flex;flex-direction:column;gap:4px;min-width:90px}.crafting-container .crafting-inv-qty{color:var(--text);font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;white-space:nowrap}.crafting-container .crafting-inv-value{color:var(--gold);font-family:Exo\ 2,sans-serif;font-size:11px;white-space:nowrap}.crafting-container .crafting-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.crafting-container .crafting-filter-select{background:var(--ms);border:1px solid var(--mb);border-radius:3px;color:var(--text);cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600;letter-spacing:.04em;padding:6px 10px;transition:border-color .16s ease}.crafting-container .crafting-filter-select:focus{border-color:var(--mbr);outline:none}.crafting-container .crafting-filter-level{align-items:center;display:flex;gap:4px}.crafting-container .crafting-filter-level-input{background:var(--ms);border:1px solid var(--mb);border-radius:3px;color:var(--text);font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600;letter-spacing:.04em;padding:6px 8px;transition:border-color .16s ease;width:72px}.crafting-container .crafting-filter-level-input:focus{border-color:var(--mbr);outline:none}.crafting-container .crafting-filter-level-input::placeholder{color:var(--text-dim);font-weight:400}.crafting-container .crafting-filter-level-sep{color:var(--text-dim);font-size:11px}.crafting-container .crafting-filter-check{align-items:center;color:var(--text-dim);cursor:pointer;display:flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600;gap:6px;letter-spacing:.04em;margin-left:6px}.crafting-container .crafting-recipes-list{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));min-height:200px}.crafting-container .crafting-recipe-card{background:var(--ms);border:1px solid var(--mb);border-radius:4px;padding:14px 16px;transition:all .16s ease}.crafting-container .crafting-recipe-card:hover{background:var(--ms2);border-color:var(--mbr)}.crafting-container .crafting-recipe-card.craftable{border-left:3px solid var(--grn)}.crafting-container .crafting-recipe-card.not-craftable{opacity:.55}.crafting-container .crafting-recipe-top{align-items:flex-start;display:flex;gap:12px}.crafting-container .crafting-recipe-icon{flex-shrink:0}.crafting-container .crafting-recipe-main{flex:1 1;min-width:0}.crafting-container .crafting-recipe-name-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:3px}.crafting-container .crafting-recipe-name{color:var(--text);font-family:Exo\ 2,sans-serif;font-size:15px;font-weight:600;margin:0}.crafting-container .crafting-recipe-class-label{color:var(--text-mt);font-size:11px;font-style:italic}.crafting-container .crafting-recipe-desc{color:var(--text-dim);font-family:Crimson Pro,Georgia,serif;font-size:14px;font-style:italic;line-height:1.4;margin:4px 0 8px}.crafting-container .crafting-recipe-stats-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.crafting-container .crafting-stat-chip{background:#ffffff0a;border:1px solid var(--mb);border-radius:2px;color:var(--text-dim);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:600;padding:2px 7px}.crafting-container .crafting-recipe-weapon-block{background:#c49a2a0f;border:1px solid #c49a2a33;border-radius:3px;margin-bottom:10px;padding:8px 12px}.crafting-container .crafting-weapon-block-title{color:var(--gold);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:5px;text-transform:uppercase}.crafting-container .crafting-weapon-block-row{color:var(--text-dim);display:flex;flex-wrap:wrap;font-size:12px;gap:14px}.crafting-container .crafting-ingredients-section{border-top:1px solid var(--mb);margin-top:10px;padding-top:10px}.crafting-container .crafting-ingredients-label{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.crafting-container .crafting-ingredient-row{align-items:center;border-bottom:1px solid #24334480;cursor:help;display:flex;gap:8px;padding:5px 0;position:relative}.crafting-container .crafting-ingredient-row:last-child{border-bottom:none}.crafting-container .crafting-ingredient-name{align-items:center;color:var(--text);display:flex;flex:1 1;font-size:13px;font-weight:500;gap:5px;min-width:0}.crafting-container .crafting-ingredient-qty{font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;white-space:nowrap}.crafting-container .crafting-ingredient-qty.sufficient{color:var(--grn-l)}.crafting-container .crafting-ingredient-qty.insufficient{color:var(--red-l)}.crafting-container .cf-ingredient-tooltip{background:var(--mg);border:1px solid var(--mb);border-radius:4px;border-top:2px solid var(--gold);bottom:calc(100% + 6px);box-shadow:0 10px 30px #000000a6;left:0;max-width:360px;min-width:260px;opacity:0;padding:10px 12px;pointer-events:none;position:absolute;transition:opacity .2s ease,visibility .2s ease;visibility:hidden;z-index:1000}.crafting-container .crafting-ingredient-row:hover .cf-ingredient-tooltip{opacity:1;visibility:visible}.crafting-container .cf-tooltip-header{border-bottom:1px solid var(--mb);color:var(--gold-l);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;padding-bottom:6px;text-transform:uppercase}.crafting-container .cf-tooltip-source{background:#ffffff05;border-left:2px solid var(--mb);border-radius:2px;margin-bottom:6px;padding:5px 8px}.crafting-container .cf-tooltip-source:last-child{margin-bottom:0}.crafting-container .cf-tooltip-monster{color:var(--text);font-size:12px;font-weight:600;margin-bottom:3px}.crafting-container .cf-tooltip-details{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.crafting-container .cf-tooltip-drop{color:var(--grn-l);font-size:11px;font-weight:600}.crafting-container .cf-tooltip-qty{color:var(--text-dim);font-size:11px}.crafting-container .cf-tooltip-more{color:var(--text-mt);font-size:11px;font-style:italic;margin-top:4px;text-align:center}.crafting-container .cf-diff-badge{border-radius:2px;font-size:10px;font-weight:700;letter-spacing:.06em;padding:1px 5px;text-transform:uppercase}.crafting-container .cf-diff-badge.trivial{background:#9e9e9e33;color:#9e9e9e}.crafting-container .cf-diff-badge.easy{background:#4caf5033;color:#66bb6a}.crafting-container .cf-diff-badge.normal{background:#2196f333;color:#42a5f5}.crafting-container .cf-diff-badge.hard{background:#ff980033;color:#ff9800}.crafting-container .cf-diff-badge.elite{background:#9c27b033;color:#ce93d8}.crafting-container .cf-diff-badge.boss{background:#f4433633;color:#f44336}.crafting-container .cf-diff-badge.legendary{background:#ffd7001a;color:gold}.crafting-container .crafting-recipe-footer{align-items:center;border-top:1px solid var(--mb);display:flex;gap:12px;justify-content:space-between;margin-top:12px;padding-top:10px}.crafting-container .crafting-recipe-meta{display:flex;gap:14px}.crafting-container .crafting-recipe-meta span{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;letter-spacing:.04em}.crafting-container .craft-btn{background:linear-gradient(135deg,#9b2424,#6e1a1a);border:1px solid #d9444459;border-radius:3px;box-shadow:none;color:#f5d5d5;cursor:pointer;font-family:Cinzel,Georgia,serif;font-size:13px;font-weight:600;letter-spacing:.08em;padding:8px 18px;transition:all .2s ease;width:auto}.crafting-container .craft-btn:hover:not(:disabled){background:linear-gradient(135deg,#c62828,#9b2424);box-shadow:0 0 16px #d9444438}.crafting-container .craft-btn:disabled{cursor:not-allowed;opacity:.35}.crafting-container .crafting-crafted-list{display:flex;flex-direction:column;gap:6px}.crafting-container .crafting-crafted-row{align-items:center;background:var(--ms);border:1px solid var(--mb);border-radius:3px;display:flex;gap:14px;padding:12px 14px;transition:all .16s ease}.crafting-container .crafting-crafted-row:hover{background:var(--ms2);border-color:var(--mbr)}.crafting-container .crafting-crafted-row.equipped{background:var(--gold-d);border-left:3px solid var(--gold)}.crafting-container .crafting-crafted-main{flex:1 1;min-width:0}.crafting-container .crafting-crafted-name{color:var(--text);font-size:14px;font-weight:600;margin-bottom:2px}.crafting-container .crafting-crafted-type{color:var(--text-mt);font-size:11px;font-weight:700;letter-spacing:.07em;margin-bottom:6px;text-transform:uppercase}.crafting-container .crafting-crafted-stats{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.crafting-container .crafting-crafted-durability{align-items:center;display:flex;gap:8px}.crafting-container .cf-durability-bar{background:#ffffff0f;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.crafting-container .cf-durability-fill{background:linear-gradient(90deg,var(--red-l) 0,var(--gold) 50%,var(--grn-l) 100%);border-radius:2px;height:100%;transition:width .4s ease}.crafting-container .cf-durability-text{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;white-space:nowrap}.crafting-container .crafting-crafted-meta{color:var(--text-mt);display:flex;flex-wrap:wrap;font-size:11px;gap:14px;letter-spacing:.03em;margin-top:6px}.crafting-container .cf-equipped-badge{align-items:center;background:var(--gold-d);border:1px solid #c49a2a59;border-radius:2px;color:var(--gold-l);display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.07em;margin-top:4px;padding:2px 7px;text-transform:uppercase}.crafting-container .cf-quality-badge{font-size:10px;margin-left:6px;padding:1px 5px;vertical-align:middle}.crafting-container .cf-disposal-actions{display:flex;flex-direction:column;flex-shrink:0;gap:5px}.crafting-container .cf-action-btn{background:#0000;border:1px solid;border-radius:3px;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;padding:5px 10px;text-transform:uppercase;transition:all .15s ease;white-space:nowrap}.crafting-container .cf-action-btn--dismantle{border-color:#d97a2a66;color:#d97a2a}.crafting-container .cf-action-btn--dismantle:hover{background:#d97a2a26;border-color:#d97a2a}.crafting-container .cf-action-btn--combine{border-color:#7a6ed966;color:#7a6ed9}.crafting-container .cf-action-btn--combine:hover{background:#7a6ed926;border-color:#7a6ed9}.crafting-container .cf-action-btn--donate{border-color:#3da86e66;color:var(--grn-l)}.crafting-container .cf-action-btn--donate:hover{background:#3da86e26;border-color:var(--grn-l)}.crafting-container .cf-modal-overlay{align-items:center;background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.crafting-container .cf-modal{background:var(--ms);border:1px solid var(--mbr);border-radius:4px;border-top:2px solid var(--gold);box-shadow:0 8px 32px #00000080;max-height:80vh;max-width:480px;overflow-y:auto;padding:24px 28px;width:90%}.crafting-container .cf-modal-title{color:var(--gold-l);font-family:Cinzel,Georgia,serif;font-size:16px;font-weight:600;letter-spacing:.04em;margin:0 0 16px}.crafting-container .cf-modal-body{color:var(--text);font-size:13px;line-height:1.6;margin:0 0 12px}.crafting-container .cf-modal-body strong{color:var(--gold-l)}.crafting-container .cf-modal-warning{color:var(--text-dim);font-size:12px;font-style:italic;margin:8px 0 0}.crafting-container .cf-modal-label{color:var(--text-dim);display:block;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;margin:12px 0 6px;text-transform:uppercase}.crafting-container .cf-modal-material-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0 0 8px;padding:0}.crafting-container .cf-modal-material-list li{background:var(--ms2);border-radius:3px;color:var(--text);font-size:13px;padding:5px 10px}.crafting-container .cf-modal-qty{color:var(--gold-l);font-weight:700;margin-right:6px}.crafting-container .cf-combine-list{display:flex;flex-direction:column;gap:5px;margin:0 0 12px}.crafting-container .cf-combine-item{align-items:center;background:var(--ms2);border:1px solid var(--mb);border-radius:3px;cursor:pointer;display:flex;justify-content:space-between;padding:8px 12px;text-align:left;transition:all .15s ease}.crafting-container .cf-combine-item:hover{background:#7a6ed914;border-color:#7a6ed9}.crafting-container .cf-combine-item.selected{background:#7a6ed92e;border-color:#7a6ed9}.crafting-container .cf-combine-item-name{color:var(--text);font-size:13px;font-weight:600}.crafting-container .cf-combine-item-date{color:var(--text-mt);font-size:11px}.crafting-container .cf-modal-select{background:var(--ms2);border:1px solid var(--mb);border-radius:3px;color:var(--text);font-family:Exo\ 2,sans-serif;font-size:13px;margin-bottom:8px;padding:7px 10px;width:100%}.crafting-container .cf-modal-select:focus{border-color:var(--gold);outline:none}.crafting-container .cf-modal-footer{border-top:1px solid var(--mb);display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px}.crafting-container .cf-modal-btn{border:1px solid;border-radius:3px;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;padding:8px 18px;text-transform:uppercase;transition:all .15s ease}.crafting-container .cf-modal-btn:disabled{cursor:not-allowed;opacity:.45}.crafting-container .cf-modal-btn--cancel{background:#0000;border-color:var(--mb);color:var(--text-dim)}.crafting-container .cf-modal-btn--cancel:hover:not(:disabled){border-color:var(--text-dim);color:var(--text)}.crafting-container .cf-modal-btn--dismantle{background:#d97a2a26;border-color:#d97a2a;color:#d97a2a}.crafting-container .cf-modal-btn--dismantle:hover:not(:disabled){background:#d97a2a47}.crafting-container .cf-modal-btn--combine{background:#7a6ed926;border-color:#7a6ed9;color:#7a6ed9}.crafting-container .cf-modal-btn--combine:hover:not(:disabled){background:#7a6ed947}.crafting-container .cf-modal-btn--donate{background:#3da86e26;border-color:var(--grn-l);color:var(--grn-l)}.crafting-container .cf-modal-btn--donate:hover:not(:disabled){background:#3da86e47}.crafting-container .crafting-empty{padding:40px 20px;text-align:center}.crafting-container .crafting-empty p{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.crafting-container .crafting-empty small{color:var(--text-mt);font-family:Crimson Pro,Georgia,serif;font-size:14px;font-style:italic}@media (max-width:768px){.crafting-container{padding:12px}.crafting-container .crafting-header{flex-direction:column}.crafting-container .crafting-tabs{overflow-x:auto}.crafting-container .crafting-tab-btn{font-size:11px;padding:10px 12px}.crafting-container .crafting-filter-row{align-items:stretch;flex-direction:column}.crafting-container .crafting-filter-level,.crafting-container .crafting-filter-select{width:100%}.crafting-container .crafting-filter-level-input{flex:1 1;width:auto}.crafting-container .crafting-recipes-list{grid-template-columns:1fr}.crafting-container .crafting-recipe-footer{align-items:stretch;flex-direction:column}.crafting-container .crafting-recipe-footer .craft-btn{text-align:center;width:100%}.crafting-container .crafting-inv-bar-col{min-width:70px}}@keyframes acShimmer{0%{opacity:0;transform:translateX(-200%)}30%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateX(200%)}}.achievements-container{--mg:#0b1824;--ms:#111e2e;--ms2:#162535;--mb:#243344;--mbr:#3a5268;--gold:#c49a2a;--gold-l:#e6b84a;--gold-d:#c49a2a29;--red:#8b2424;--red-l:#d94444;--red-d:#9b2b2b38;--grn:#1f5435;--grn-l:#3da86e;--grn-d:#235e3c38;--text:#d2c09a;--text-dim:#7a96aa;--text-mt:#485e70;color:var(--text);font-family:Exo\ 2,Segoe UI,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.achievements-container .achievements-loading{align-items:center;color:var(--text-mt);display:flex;font-size:13px;font-weight:700;justify-content:center;letter-spacing:.1em;min-height:300px;text-transform:uppercase}.achievements-container .achievements-header{align-items:center;background:none;border:none;border-radius:0;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:20px;padding:0}.achievements-container .achievements-header h2{color:var(--gold-l);font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:600;letter-spacing:.04em;margin:0;text-shadow:none}.achievements-container .achievements-stats{display:flex;gap:12px}.achievements-container .stat-card{background:var(--ms);border:1px solid var(--mb);border-radius:4px;border-top:2px solid var(--gold);min-width:90px;padding:10px 18px;text-align:center}.achievements-container .stat-value{color:var(--text);font-family:Exo\ 2,sans-serif;font-size:20px;font-weight:700;line-height:1;margin-bottom:4px;text-shadow:none}.achievements-container .stat-label{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;margin-top:0;text-transform:uppercase}.achievements-container .achievements-progress-bar{background:#ffffff0f;border:none;border-radius:3px;height:6px;margin-bottom:24px;overflow:hidden}.achievements-container .achievements-progress-fill{background:var(--gold);border-radius:3px;box-shadow:none;display:block;height:100%;overflow:hidden;padding:0;position:relative;transition:width .6s ease}.achievements-container .achievements-progress-fill:after{animation:acShimmer 2.8s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff59 50%,#0000);content:"";inset:0;position:absolute}.achievements-container .achievements-categories{border-bottom:1px solid var(--mb);display:flex;flex-wrap:nowrap;gap:0;margin-bottom:20px;overflow-x:auto}.achievements-container .category-button{background:none;border:none;border-bottom:2px solid #0000;border-radius:0;box-shadow:none;color:var(--text-dim);cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:-1px;padding:8px 16px;text-transform:uppercase;transition:all .18s ease;white-space:nowrap;width:auto}.achievements-container .category-button:before{display:none}.achievements-container .category-button:hover{background:var(--gold-d);box-shadow:none;color:var(--gold-l);transform:none}.achievements-container .category-button.active{background:var(--gold-d);border-bottom-color:var(--gold);box-shadow:none;color:var(--gold-l)}.achievements-container .ac-section-header{align-items:center;color:var(--text-mt);display:flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;gap:10px;letter-spacing:.1em;margin:0 0 12px;text-transform:uppercase}.achievements-container .ac-section-header:after{background:var(--mb);content:"";flex:1 1;height:1px}.achievements-container .ac-section-header--gold{color:var(--gold-l)}.achievements-container .ac-section-header--green{color:var(--grn-l)}.achievements-container .achievements-grid{display:flex;flex-direction:column;gap:6px;margin-bottom:36px}.achievements-container .achievement-card{align-items:flex-start;background:var(--ms);border:1px solid var(--mb);border-radius:3px;display:flex;gap:14px;overflow:visible;padding:12px 14px;position:relative;transition:all .16s ease}.achievements-container .achievement-card:before{display:none}.achievements-container .achievement-card:hover{background:var(--ms2);border-color:var(--mbr);box-shadow:none;transform:none}.achievements-container .achievement-card.unlocked{background:var(--gold-d);border-left:3px solid var(--gold)}.achievements-container .achievement-card.unlocked:hover{background:#c49a2a38}.achievements-container .achievement-card.locked{opacity:.5}.achievements-container .achievement-icon{align-items:center;background:#ffffff08;border:1px solid var(--mb);border-radius:3px;display:flex;flex-shrink:0;font-size:26px;height:44px;justify-content:center;width:44px}.achievements-container .achievement-card.unlocked .achievement-icon{background:var(--gold-d);border-color:#c49a2a66;box-shadow:none}.achievements-container .achievement-content{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.achievements-container .achievement-name{color:var(--text);font-family:Exo\ 2,sans-serif;font-size:15px;font-weight:600;margin:0;text-shadow:none}.achievements-container .achievement-card.unlocked .achievement-name{color:var(--gold-l);text-shadow:none}.achievements-container .achievement-description{color:var(--text-dim);font-family:Crimson Pro,Georgia,serif;font-size:14px;font-style:italic;line-height:1.4;margin:0}.achievements-container .achievement-category-badge{align-items:center;background:#ab47bc1f;border:1px solid #ab47bc4d;border-radius:2px;color:#ce93d8;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;padding:2px 7px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.achievements-container .achievement-unlocked-info{align-items:center;display:flex;gap:10px;margin-top:4px}.achievements-container .unlocked-badge{align-items:center;background:var(--gold-d);border:1px solid #c49a2a66;border-radius:2px;box-shadow:none;color:var(--gold-l);display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;padding:2px 8px;text-transform:uppercase}.achievements-container .unlocked-date{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px}.achievements-container .achievement-progress{display:flex;flex-direction:column;gap:5px;margin-top:6px}.achievements-container .progress-text{align-items:center;color:var(--text-dim);display:flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600;justify-content:space-between}.achievements-container .progress-percentage{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;text-align:right}.achievements-container .progress-bar-container{background:#ffffff0f;border:none;border-radius:2px;height:4px;overflow:hidden}.achievements-container .progress-bar-fill{border-radius:2px;box-shadow:none;height:100%;overflow:hidden;position:relative;transition:width .5s ease}.achievements-container .progress-bar-fill:after{animation:acShimmer 2.6s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);content:"";inset:0;position:absolute}.achievements-container .no-achievements{padding:40px 20px;text-align:center}.achievements-container .no-achievements p{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.achievements-container .player-stats-summary{background:none;border:none;border-radius:0;margin-top:10px;padding:0}.achievements-container .player-stats-summary h3{display:none}.achievements-container .stats-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.achievements-container .stat-item{align-items:center;background:var(--ms);border:1px solid var(--mb);border-radius:3px;display:flex;gap:10px;padding:10px 14px;transition:all .16s ease}.achievements-container .stat-item:hover{background:var(--ms2);border-color:var(--mbr);transform:none}.achievements-container .stat-icon{flex-shrink:0;font-size:18px;text-align:center;width:24px}.achievements-container .stat-name{color:var(--text-dim);flex:1 1;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:500}.achievements-container .stat-number{color:var(--gold-l);font-family:Exo\ 2,sans-serif;font-size:15px;font-weight:700;text-shadow:none}@media (max-width:768px){.achievements-container{padding:12px}.achievements-container .achievements-header{align-items:flex-start;flex-direction:column}.achievements-container .achievements-stats{width:100%}.achievements-container .stat-card{flex:1 1}.achievements-container .stats-grid{grid-template-columns:1fr}}.admin-dashboard .users-manager{min-height:400px}.admin-dashboard .users-manager .loading-spinner{align-items:center;color:var(--text-dim);display:flex;flex-direction:column;font-family:Exo\ 2,sans-serif;font-size:13px;gap:14px;justify-content:center;min-height:40vh}.admin-dashboard .users-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.admin-dashboard .users-title h2{color:var(--gold-l);font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:700;letter-spacing:.04em;margin:0 0 3px}.admin-dashboard .users-title p{color:var(--text-mt);font-family:Crimson Pro,Georgia,serif;font-size:14px;font-style:italic;margin:0}.admin-dashboard .search-controls{align-items:center;background:var(--ms);border:1px solid var(--mb);border-radius:4px;padding:14px 16px}.admin-dashboard .search-controls,.admin-dashboard .users-stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.admin-dashboard .stat-card.role-stats{background:#0000;border:none;display:flex;flex-wrap:wrap;gap:10px;padding:0}.admin-dashboard .stat-card.role-stats:before{display:none}.admin-dashboard .users-table-container{background:var(--ms);border:1px solid var(--mb);border-radius:4px;margin-bottom:4px;overflow:hidden}.admin-dashboard .users-table{border-collapse:collapse;width:100%}.admin-dashboard .users-table thead{background:var(--mg);border-bottom:1px solid var(--mb)}.admin-dashboard .users-table th{color:var(--text-mt);cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;padding:10px 14px;text-align:left;text-transform:uppercase;transition:color .16s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-dashboard .users-table th:hover{color:var(--text)}.admin-dashboard .users-table tbody tr{border-bottom:1px solid var(--mb);transition:background .14s ease}.admin-dashboard .users-table tbody tr:last-child{border-bottom:none}.admin-dashboard .users-table tbody tr:hover{background:var(--ms2)}.admin-dashboard .users-table td{color:var(--text);font-family:Exo\ 2,sans-serif;font-size:13px;padding:10px 14px;vertical-align:middle}.admin-dashboard .user-row.is-banned{opacity:.55}.admin-dashboard .user-info{min-width:180px}.admin-dashboard .user-name{color:var(--text);font-weight:700;margin-bottom:2px}.admin-dashboard .user-email{color:var(--text-mt);font-size:12px}.admin-dashboard .user-id{color:var(--text-mt);font-size:11px;font-style:italic}.admin-dashboard .user-date{color:var(--text-mt);font-size:12px}.admin-dashboard .user-ban-info{color:var(--red-l);font-size:11px;font-style:italic;margin-top:2px}.admin-dashboard .online-indicator{align-items:center;color:var(--grn-l);display:inline-flex;font-size:12px;font-weight:600;gap:5px}.admin-dashboard .online-dot{animation:adminPulse 2s ease-in-out infinite;background:var(--grn-l);border-radius:50%;height:7px;width:7px}.admin-dashboard .user-actions{display:flex;flex-wrap:wrap;gap:5px;min-width:180px}.admin-dashboard .role-options{display:flex;flex-direction:column;gap:8px;margin-top:8px}.admin-dashboard .role-option{align-items:center;background:var(--ms2);border:1px solid var(--mb);border-radius:3px;cursor:pointer;display:flex;gap:12px;padding:10px 14px;transition:all .16s ease}.admin-dashboard .role-option:hover{background:var(--ms);border-color:var(--mbr)}.admin-dashboard .role-option.selected{background:var(--gold-d);border-color:var(--gold)}.admin-dashboard .role-option input[type=radio]{accent-color:var(--gold);box-shadow:none;margin:0;width:auto}.admin-dashboard .role-option-label{flex:1 1}.admin-dashboard .role-option-name{color:var(--text);font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;margin-bottom:2px}.admin-dashboard .role-option-desc{color:var(--text-mt);font-family:Crimson Pro,Georgia,serif;font-size:13px;font-style:italic}.admin-dashboard .ban-reason-group{margin-top:12px}.admin-dashboard .ban-reason-group label{color:var(--text-mt);display:block;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:5px;text-transform:uppercase}.admin-dashboard .ban-reason-input{background:var(--ms);border:1px solid var(--mb);border-radius:3px;box-sizing:border-box;color:var(--text);font-family:Exo\ 2,sans-serif;font-size:13px;min-height:70px;padding:8px 12px;resize:vertical;width:100%}.admin-dashboard .ban-reason-input:focus{border-color:var(--mbr);outline:none}.admin-dashboard .user-details-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:4px}.admin-dashboard .user-detail-item{background:var(--ms2);border:1px solid var(--mb);border-radius:3px;padding:8px 12px}.admin-dashboard .detail-label{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:3px;text-transform:uppercase}.admin-dashboard .detail-value{color:var(--text);font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:600;word-break:break-word}.admin-dashboard .users-pagination{align-items:center;border-top:1px solid var(--mb);display:flex;gap:14px;justify-content:center;padding:16px}@media (max-width:768px){.admin-dashboard .users-table-container{overflow-x:auto}.admin-dashboard .users-table{min-width:720px}.admin-dashboard .user-actions{flex-direction:column}.admin-dashboard .search-controls{align-items:stretch;flex-direction:column}}.admin-dashboard .admin-character-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.admin-dashboard .admin-character-row{align-items:center;background:var(--ms);border:1px solid var(--mb);border-radius:3px;color:var(--text-dim);display:flex;font-size:13px;gap:10px;justify-content:space-between;padding:8px 10px}.admin-dashboard .admin-appearance-btn{background:var(--ms2);border:1px solid #c49a2a59;border-radius:3px;color:var(--gold);cursor:pointer;flex-shrink:0;font-size:11px;padding:6px 10px}.admin-dashboard .admin-appearance-btn:hover{border-color:#c49a2ab3}.admin-dashboard .events-manager{min-height:400px}.admin-dashboard .events-manager .loading-spinner{align-items:center;color:var(--text-dim);display:flex;flex-direction:column;font-family:Exo\ 2,sans-serif;font-size:13px;gap:14px;justify-content:center;min-height:40vh}.admin-dashboard .events-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.admin-dashboard .events-title h2{color:var(--gold-l);font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:700;letter-spacing:.04em;margin:0 0 3px}.admin-dashboard .events-title p{color:var(--text-mt);font-family:Crimson Pro,Georgia,serif;font-size:14px;font-style:italic;margin:0}.admin-dashboard .events-filters{align-items:center;background:var(--ms);border:1px solid var(--mb);border-radius:4px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:18px;padding:14px 16px}.admin-dashboard .events-table-container{background:var(--ms);border:1px solid var(--mb);border-radius:4px;overflow:hidden}.admin-dashboard .events-table{border-collapse:collapse;width:100%}.admin-dashboard .events-table thead{background:var(--mg);border-bottom:1px solid var(--mb)}.admin-dashboard .events-table th{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-dashboard .events-table tbody tr{border-bottom:1px solid var(--mb);transition:background .14s ease}.admin-dashboard .events-table tbody tr:last-child{border-bottom:none}.admin-dashboard .events-table tbody tr:hover{background:var(--ms2)}.admin-dashboard .events-table td{color:var(--text);font-family:Exo\ 2,sans-serif;font-size:13px;padding:10px 14px;vertical-align:top}.admin-dashboard .event-info{min-width:200px}.admin-dashboard .event-name{color:var(--text);font-weight:700;margin-bottom:3px}.admin-dashboard .event-description{color:var(--text-mt);font-size:12px;line-height:1.4;margin-bottom:3px}.admin-dashboard .event-gathering,.admin-dashboard .event-region{color:var(--text-mt);font-size:11px}.admin-dashboard .event-type-badge{align-items:center;border-radius:2px;color:#fff;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;opacity:.9;padding:3px 10px;text-transform:uppercase;white-space:nowrap}.admin-dashboard .event-schedule{color:var(--text-dim);font-size:12px;line-height:1.7;white-space:nowrap}.admin-dashboard .duration{color:var(--text-mt);font-size:11px}.admin-dashboard .event-bonuses{color:var(--text-dim);font-size:12px;line-height:1.8}.admin-dashboard .event-actions{display:flex;flex-wrap:wrap;gap:5px;min-width:150px}.admin-dashboard .events-manager .form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.admin-dashboard .events-manager .form-group.full-width{grid-column:1/-1}.admin-dashboard .create-button{background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;border-radius:3px;box-shadow:none;color:var(--gold-l);cursor:pointer;font-family:Cinzel,Georgia,serif;font-size:13px;font-weight:600;letter-spacing:.06em;padding:8px 18px;transition:all .18s ease;width:auto}.admin-dashboard .create-button:hover:not(:disabled){background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 14px #c49a2a33}.admin-dashboard .create-button:disabled{cursor:not-allowed;opacity:.35}.admin-dashboard .event-details{display:flex;flex-direction:column;gap:14px}.admin-dashboard .detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-dashboard .bonuses-display{display:flex;flex-direction:column;gap:6px}.admin-dashboard .bonus-item{align-items:center;background:var(--ms);border:1px solid var(--mb);border-radius:3px;color:var(--text-dim);display:flex;font-size:13px;gap:10px;padding:6px 10px}.admin-dashboard .bonus-icon{font-size:15px}@media (max-width:768px){.admin-dashboard .events-table-container{overflow-x:auto}.admin-dashboard .events-table{min-width:720px}.admin-dashboard .event-actions{flex-direction:column}.admin-dashboard .events-filters{align-items:stretch;flex-direction:column}}.admin-dashboard .content-manager{min-height:400px}.admin-dashboard .content-manager .loading-spinner{align-items:center;color:var(--text-dim);display:flex;flex-direction:column;font-family:Exo\ 2,sans-serif;font-size:13px;gap:14px;justify-content:center;min-height:40vh}.admin-dashboard .content-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:18px}.admin-dashboard .content-title h2{color:var(--gold-l);font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:700;letter-spacing:.04em;margin:0 0 3px}.admin-dashboard .content-title p{color:var(--text-mt);font-family:Crimson Pro,Georgia,serif;font-size:14px;font-style:italic;margin:0}.admin-dashboard .content-tabs{background:var(--mg);border:1px solid var(--mb);border-radius:4px;display:flex;gap:2px;margin-bottom:18px;padding:4px;width:-webkit-fit-content;width:fit-content}.admin-dashboard .content-tab-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:3px;box-shadow:none;color:var(--text-mt);cursor:pointer;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;padding:7px 16px;text-transform:uppercase;transition:all .16s ease;white-space:nowrap;width:auto}.admin-dashboard .content-tab-btn:hover{background:var(--ms2);color:var(--text)}.admin-dashboard .content-tab-btn.active{background:var(--ms);border-color:var(--mb);border-bottom-color:var(--gold);color:var(--gold-l)}.admin-dashboard .content-table-container{background:var(--ms);border:1px solid var(--mb);border-radius:4px;overflow:hidden}.admin-dashboard .content-table{border-collapse:collapse;width:100%}.admin-dashboard .content-table thead{background:var(--mg);border-bottom:1px solid var(--mb)}.admin-dashboard .content-table th{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-dashboard .content-table tbody tr{border-bottom:1px solid var(--mb);transition:background .14s ease}.admin-dashboard .content-table tbody tr:last-child{border-bottom:none}.admin-dashboard .content-table tbody tr:hover{background:var(--ms2)}.admin-dashboard .content-table td{color:var(--text);font-family:Exo\ 2,sans-serif;font-size:13px;padding:10px 14px;vertical-align:top}.admin-dashboard .content-info{min-width:220px}.admin-dashboard .content-name{color:var(--text);font-weight:700;margin-bottom:3px}.admin-dashboard .content-description{color:var(--text-mt);font-size:12px;line-height:1.4;margin-bottom:3px}.admin-dashboard .content-icon,.admin-dashboard .monster-type,.admin-dashboard .recipe-details{color:var(--text-mt);font-size:11px}.admin-dashboard .type-badge{background:#42a5f526;border:1px solid #42a5f54d;border-radius:2px;color:#42a5f5}.admin-dashboard .rarity-badge,.admin-dashboard .type-badge{align-items:center;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.admin-dashboard .rarity-badge{border:1px solid #ffffff26;border-radius:2px;color:#fff}.admin-dashboard .ai-badge{align-items:center;background:#ab47bc26;border:1px solid #ab47bc4d;border-radius:2px;color:#ce93d8;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.admin-dashboard .level-cell,.admin-dashboard .success-rate-cell,.admin-dashboard .value-cell{color:var(--gold-l);font-weight:600;white-space:nowrap}.admin-dashboard .monster-stats{color:var(--text-dim);display:flex;flex-direction:column;font-size:12px;gap:3px}.admin-dashboard .content-actions{display:flex;flex-wrap:wrap;gap:5px;min-width:160px}.admin-dashboard .content-manager .form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.admin-dashboard .content-manager .form-group.full-width{grid-column:1/-1}.admin-dashboard .content-manager .create-button{background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;border-radius:3px;box-shadow:none;color:var(--gold-l);cursor:pointer;font-family:Cinzel,Georgia,serif;font-size:13px;font-weight:600;letter-spacing:.06em;padding:8px 18px;transition:all .18s ease;width:auto}.admin-dashboard .content-manager .create-button:hover:not(:disabled){background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 14px #c49a2a33}.admin-dashboard .content-manager .create-button:disabled{cursor:not-allowed;opacity:.35}.admin-dashboard .item-details{display:flex;flex-direction:column;gap:14px}.admin-dashboard .detail-section{background:var(--ms2);border:1px solid var(--mb);border-left:3px solid var(--gold);border-radius:3px;padding:12px 16px}.admin-dashboard .detail-section h4{color:var(--gold);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.admin-dashboard .detail-grid{grid-gap:6px;color:var(--text-dim);display:grid;font-size:13px;gap:6px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));line-height:1.5}.admin-dashboard .detail-grid strong{color:var(--text-mt)}.admin-dashboard .description p{color:var(--text-mt);font-family:Crimson Pro,Georgia,serif;font-size:14px;font-style:italic;line-height:1.5;margin:6px 0 0}.admin-dashboard .ingredients-list{display:flex;flex-direction:column;gap:6px}.admin-dashboard .ingredient-item{align-items:center;background:var(--ms);border:1px solid var(--mb);border-left:3px solid var(--grn);border-radius:3px;display:flex;justify-content:space-between;padding:8px 12px}.admin-dashboard .ingredient-name{color:var(--text);flex:1 1;font-weight:600}.admin-dashboard .ingredient-quantity{background:var(--grn-d);border:1px solid #3da86e4d;border-radius:2px;color:var(--grn-l);font-family:Cinzel,Georgia,serif;font-size:13px;font-weight:700;margin:0 10px;padding:2px 8px}.admin-dashboard .ingredient-rarity{font-size:12px;font-weight:600}.admin-dashboard .stats-display{display:flex;flex-direction:column;gap:6px;margin-top:10px}.admin-dashboard .stats-display .stat-item{align-items:center;background:var(--ms);border:1px solid var(--mb);border-left:3px solid var(--red);border-radius:3px;color:var(--text-dim);display:flex;font-size:13px;gap:10px;padding:7px 12px}.admin-dashboard .stat-icon{font-size:14px}.admin-dashboard .drop-table{display:flex;flex-direction:column;gap:6px}.admin-dashboard .drop-item{align-items:center;background:var(--ms);border:1px solid var(--mb);border-left:3px solid var(--gold);border-radius:3px;display:flex;justify-content:space-between;padding:8px 12px}.admin-dashboard .drop-material{color:var(--text);flex:1 1;font-weight:600}.admin-dashboard .drop-rate{background:var(--gold-d);border:1px solid #c49a2a4d;border-radius:2px;color:var(--gold);font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;margin:0 10px;padding:2px 8px;white-space:nowrap}.admin-dashboard .drop-quantity{color:var(--text-mt);font-size:12px;white-space:nowrap}@media (max-width:768px){.admin-dashboard .content-table-container{overflow-x:auto}.admin-dashboard .content-table{min-width:720px}.admin-dashboard .content-actions{flex-direction:column}.admin-dashboard .content-tabs{width:100%}}.admin-dashboard .content-manager .monster-sprite-field{align-items:center;display:flex;gap:12px}.admin-dashboard .content-manager .monster-sprite-preview{background:var(--ms2);border:1px solid #c49a2a59;border-radius:4px;height:48px;image-rendering:pixelated;object-fit:contain;padding:4px;width:48px}.admin-dashboard .content-manager .monster-sprite-thumb{height:32px;image-rendering:pixelated;margin-right:6px;object-fit:contain;vertical-align:middle;width:32px}.admin-dashboard .content-manager .sprite-picker-button{background:var(--ms2);border:1px solid #c49a2a59;border-radius:3px;color:var(--text);cursor:pointer;font-size:12px;padding:6px 14px}.admin-dashboard .content-manager .sprite-picker-button:hover{border-color:#c49a2ab3}.sprite-picker-content{max-width:720px}.sprite-picker-controls{display:flex;gap:10px;margin-bottom:14px}.sprite-picker-search{flex:1 1}.sprite-picker-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));max-height:50vh;overflow-y:auto;padding:4px}.sprite-picker-item{align-items:center;background:var(--ms2);border:1px solid #c49a2a33;border-radius:4px;color:var(--text-mt);cursor:pointer;display:flex;flex-direction:column;font-size:10px;gap:4px;padding:8px 4px;text-align:center}.sprite-picker-item:hover{border-color:#c49a2ab3;color:var(--text)}.sprite-picker-item img{height:48px;image-rendering:pixelated;object-fit:contain;width:48px}.sprite-picker-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.admin-dashboard .content-manager .recipe-ingredient-adder{display:flex;gap:8px;margin-bottom:10px}.admin-dashboard .content-manager .recipe-ingredient-adder select{flex:1 1}.admin-dashboard .content-manager .recipe-ingredient-adder input{width:70px}.admin-dashboard .content-manager .recipe-ingredient-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.admin-dashboard .content-manager .recipe-ingredient-list li{align-items:center;background:var(--ms);border:1px solid var(--mb);border-left:3px solid var(--grn);border-radius:3px;color:var(--text-dim);display:flex;font-size:13px;justify-content:space-between;padding:6px 12px}.admin-dashboard .content-manager .recipe-ingredient-list button{background:none;border:none;color:#e94560;color:var(--red,#e94560);cursor:pointer;font-size:16px;line-height:1;padding:0 4px}@keyframes adminPanelSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes adminSpin{to{transform:rotate(1turn)}}@keyframes adminPulse{0%,to{opacity:1}50%{opacity:.45}}.admin-dashboard button{box-shadow:none;width:auto}.admin-dashboard{--mg:#0b1824;--ms:#111e2e;--ms2:#162535;--mb:#243344;--mbr:#3a5268;--gold:#c49a2a;--gold-l:#e6b84a;--gold-d:#c49a2a29;--red:#8b2424;--red-l:#d94444;--red-d:#9b2b2b38;--grn:#1f5435;--grn-l:#3da86e;--grn-d:#235e3c38;--text:#d2c09a;--text-dim:#7a96aa;--text-mt:#485e70;background:#0b1824;color:var(--text);font-family:Exo\ 2,Segoe UI,sans-serif}.admin-dashboard .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040a14d1;display:flex;inset:0;justify-content:center;overflow:hidden;padding:24px 16px;position:fixed;z-index:1000}.admin-dashboard .modal-content{animation:adminPanelSlideUp .26s cubic-bezier(.34,1.4,.64,1);background:var(--mg);border:1px solid var(--mb);border-radius:4px 4px 6px 6px;border-top:2px solid var(--gold);box-shadow:0 0 0 1px #c49a2a0f,0 24px 64px #000000bf;max-height:85vh;max-width:600px;overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--mb) #0000;scrollbar-width:thin;width:90%}.admin-dashboard .modal-content.large{max-width:800px}.admin-dashboard .modal-header{align-items:center;background:linear-gradient(180deg,#c49a2a12,#0000);border-bottom:1px solid var(--mb);display:flex;justify-content:space-between;padding:18px 20px 14px;position:relative}.admin-dashboard .modal-header h3{color:var(--gold-l);font-family:Cinzel,Georgia,serif;font-size:17px;font-weight:600;letter-spacing:.04em;margin:0}.admin-dashboard .modal-header>button{background:#0000;border:none;box-shadow:none;color:var(--text-mt);cursor:pointer;font-size:22px;font-weight:300;line-height:1;padding:2px 6px;transition:color .16s ease;width:auto}.admin-dashboard .modal-header>button:hover{color:var(--red-l)}.admin-dashboard .admin-close-btn{align-items:center;background:var(--red);border:1px solid #d9444466;border-radius:3px;box-shadow:none;color:#f0d8d8;cursor:pointer;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:15px;font-weight:700;justify-content:center;padding:4px 10px;transition:background .18s ease;-webkit-user-select:none;user-select:none;width:auto}.admin-dashboard .admin-close-btn:hover{background:var(--red-l)}.admin-dashboard .modal-body{color:var(--text);padding:20px}.admin-dashboard .modal-footer{border-top:1px solid var(--mb);display:flex;gap:10px;justify-content:flex-end;padding:14px 20px}.admin-dashboard .form-group{margin-bottom:16px}.admin-dashboard .form-group label{color:var(--text-mt);display:block;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:5px;text-transform:uppercase}.admin-dashboard .form-group input,.admin-dashboard .form-group select,.admin-dashboard .form-group textarea{background:var(--ms);border:1px solid var(--mb);border-radius:3px;box-sizing:border-box;color:var(--text);font-family:Exo\ 2,sans-serif;font-size:13px;padding:8px 12px;transition:border-color .16s ease;width:100%}.admin-dashboard .form-group input:focus,.admin-dashboard .form-group select:focus,.admin-dashboard .form-group textarea:focus{border-color:var(--mbr);outline:none}.admin-dashboard .form-group textarea{min-height:70px;resize:vertical}.admin-dashboard .cancel-button{background:#0000;border:1px solid var(--mb);border-radius:3px;box-shadow:none;color:var(--text-dim);cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;padding:8px 16px;transition:all .16s ease;width:auto}.admin-dashboard .cancel-button:hover{background:var(--ms2);border-color:var(--mbr);color:var(--text)}.admin-dashboard .update-button{background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;border-radius:3px;box-shadow:none;color:var(--gold-l);cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;padding:8px 16px;transition:all .18s ease;width:auto}.admin-dashboard .update-button:hover:not(:disabled){background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 14px #c49a2a33}.admin-dashboard .update-button:disabled{cursor:not-allowed;opacity:.35}.admin-dashboard .ban-confirm-button,.admin-dashboard .delete-confirm-button{background:linear-gradient(135deg,#9b2424,#6e1a1a);border:1px solid #d9444459;border-radius:3px;box-shadow:none;color:#f5d5d5;cursor:pointer;font-family:Cinzel,Georgia,serif;font-size:13px;font-weight:600;letter-spacing:.07em;padding:8px 16px;transition:all .2s ease;width:auto}.admin-dashboard .ban-confirm-button:hover:not(:disabled),.admin-dashboard .delete-confirm-button:hover:not(:disabled){background:linear-gradient(135deg,#c62828,#9b2424);box-shadow:0 0 16px #d9444438}.admin-dashboard .ban-confirm-button:disabled{cursor:not-allowed;opacity:.35}.admin-dashboard .modal-footer .admin-close-btn{position:static;right:auto;top:auto}.admin-dashboard .error-banner{align-items:center;background:var(--red-d);border:1px solid #d9444466;border-left:3px solid var(--red-l);border-radius:3px;color:#f0d8d8;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 14px}.admin-dashboard .error-banner button{background:none;border:none;box-shadow:none;color:#f0d8d8;cursor:pointer;font-size:18px;line-height:1;padding:0 0 0 12px;width:auto}.admin-dashboard .admin-section-header{align-items:center;color:var(--text-mt);display:flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;gap:10px;letter-spacing:.1em;margin:0 0 14px;text-transform:uppercase}.admin-dashboard .admin-section-header:after{background:var(--mb);content:"";flex:1 1;height:1px}.admin-dashboard .admin-section-header--gold{color:var(--gold-l)}.admin-dashboard .admin-section-header--green{color:var(--grn-l)}.admin-dashboard .admin-section-header--red{color:var(--red-l)}.admin-dashboard .ban-warning,.admin-dashboard .delete-warning,.admin-dashboard .role-warning{background:var(--gold-d);border-left:3px solid var(--gold);border-radius:3px;color:var(--text-dim);font-size:13px;line-height:1.5;margin-top:14px;padding:10px 14px}.admin-dashboard .ban-warning,.admin-dashboard .delete-warning{background:var(--red-d);border-left-color:var(--red-l);color:#f0d8d8}.admin-dashboard .delete-warning .warning-header{color:var(--red-l);font-weight:700;margin-bottom:8px}.admin-dashboard .delete-warning ul{margin:8px 0;padding-left:20px}.admin-dashboard .delete-warning li{margin-bottom:4px}.admin-dashboard .content-context,.admin-dashboard .user-context{background:var(--ms);border:1px solid var(--mb);border-left:3px solid var(--gold);border-radius:3px;color:var(--text-dim);font-size:13px;line-height:1.6;margin-bottom:16px;padding:10px 14px}.admin-dashboard .role-badge,.admin-dashboard .role-stat{align-items:center;border-radius:2px;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.07em;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.admin-dashboard .role-badge.role-admin,.admin-dashboard .role-stat.role-admin{background:var(--red-d);border:1px solid #d9444459;color:var(--red-l)}.admin-dashboard .role-badge.role-moderator,.admin-dashboard .role-stat.role-moderator{background:#ab47bc26;border:1px solid #ab47bc59;color:#ce93d8}.admin-dashboard .role-badge.role-player,.admin-dashboard .role-stat.role-player{background:#42a5f526;border:1px solid #42a5f559;color:#42a5f5}.admin-dashboard .role-badge.role-banned,.admin-dashboard .role-stat.role-banned{background:#ffffff0a;border:1px solid var(--mb);color:var(--text-mt)}.admin-dashboard .status-badge{align-items:center;border-radius:2px;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.07em;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.admin-dashboard .status-badge.active,.admin-dashboard .status-badge.status-active,.admin-dashboard .status-badge.status-online{background:var(--grn-d);border:1px solid #3da86e59;color:var(--grn-l)}.admin-dashboard .status-badge.inactive,.admin-dashboard .status-badge.status-inactive,.admin-dashboard .status-badge.status-offline{background:#ffffff0a;border:1px solid var(--mb);color:var(--text-mt)}.admin-dashboard .status-badge.status-banned{background:var(--red-d);border:1px solid #d9444459;color:var(--red-l)}.admin-dashboard .status-badge.status-scheduled{background:#42a5f526;border:1px solid #42a5f559;color:#42a5f5}.admin-dashboard .status-badge.status-expired{background:#ffffff0a;border:1px solid var(--mb);color:var(--text-mt)}.admin-dashboard .status-badge.status-inactive{background:#c49a2a1f;border:1px solid #c49a2a40;color:var(--gold)}.admin-dashboard .admin-action-button,.admin-dashboard .ban-button,.admin-dashboard .create-content-button,.admin-dashboard .create-event-button,.admin-dashboard .delete-button,.admin-dashboard .page-button,.admin-dashboard .refresh-button,.admin-dashboard .role-button,.admin-dashboard .search-button,.admin-dashboard .sort-order,.admin-dashboard .toggle-button,.admin-dashboard .unban-button,.admin-dashboard .view-button{align-items:center;border-radius:2px;box-shadow:none;cursor:pointer;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;justify-content:center;letter-spacing:.06em;padding:5px 10px;text-transform:uppercase;transition:all .16s ease;white-space:nowrap;width:auto}.admin-dashboard .view-button{background:#42a5f51f;border:1px solid #42a5f54d;color:#42a5f5}.admin-dashboard .view-button:hover{background:#42a5f538}.admin-dashboard .role-button{background:var(--gold-d);border:1px solid #c49a2a59;color:var(--gold-l)}.admin-dashboard .role-button:hover{background:#c49a2a3d}.admin-dashboard .ban-button{background:var(--red-d);border:1px solid #d9444459;color:var(--red-l)}.admin-dashboard .ban-button:hover{background:#d944444d}.admin-dashboard .unban-button{background:var(--grn-d);border:1px solid #3da86e59;color:var(--grn-l)}.admin-dashboard .unban-button:hover{background:#3da86e4d}.admin-dashboard .delete-button{background:#ffffff0a;border:1px solid var(--mb);color:var(--text-mt)}.admin-dashboard .delete-button:hover{background:var(--red-d);border-color:#d9444459;color:var(--red-l)}.admin-dashboard .toggle-button.active{background:var(--red-d);border:1px solid #d9444459;color:var(--red-l)}.admin-dashboard .toggle-button.active:hover{background:#d944444d}.admin-dashboard .toggle-button.inactive{background:var(--grn-d);border:1px solid #3da86e59;color:var(--grn-l)}.admin-dashboard .toggle-button.inactive:hover{background:#3da86e4d}.admin-dashboard .refresh-button,.admin-dashboard .search-button{background:#42a5f51f;border:1px solid #42a5f54d;color:#42a5f5;padding:8px 14px}.admin-dashboard .refresh-button:hover,.admin-dashboard .search-button:hover{background:#42a5f538}.admin-dashboard .page-button{background:var(--ms);border:1px solid var(--mb);color:var(--text-dim);padding:6px 14px}.admin-dashboard .page-button:hover:not(:disabled){background:var(--ms2);border-color:var(--mbr);color:var(--text)}.admin-dashboard .page-button:disabled{cursor:not-allowed;opacity:.35}.admin-dashboard .sort-order{background:var(--ms);border:1px solid var(--mb);color:var(--text-dim);font-size:14px;padding:6px 10px}.admin-dashboard .sort-order:hover{background:var(--ms2)}.admin-dashboard .create-content-button,.admin-dashboard .create-event-button{background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;color:var(--gold-l);font-size:12px;padding:8px 16px}.admin-dashboard .create-content-button:hover,.admin-dashboard .create-event-button:hover{background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 14px #c49a2a33}.admin-dashboard .admin-action-button{background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;color:var(--gold-l);font-size:12px;padding:9px 18px}.admin-dashboard .admin-action-button:hover:not(:disabled){background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 14px #c49a2a33}.admin-dashboard .admin-action-button:disabled{cursor:not-allowed;opacity:.35}.admin-dashboard .seed-message{animation:adminPanelSlideUp .22s ease;border-radius:3px;font-size:13px;padding:8px 14px}.admin-dashboard .seed-message.success{background:var(--grn-d);border:1px solid #3da86e59;color:var(--grn-l)}.admin-dashboard .seed-message.error{background:var(--red-d);border:1px solid #d9444459;color:var(--red-l)}.admin-dashboard .empty-state{color:var(--text-mt);padding:40px 20px;text-align:center}.admin-dashboard .empty-state h3{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.admin-dashboard .empty-state p{color:var(--text-mt);font-family:Crimson Pro,Georgia,serif;font-size:14px;font-style:italic;margin-bottom:14px}.admin-dashboard .pagination{align-items:center;border-top:1px solid var(--mb);display:flex;gap:14px;justify-content:center;margin-top:4px;padding:16px}.admin-dashboard .page-info{color:var(--text-dim);font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600}.admin-dashboard .filter-group{align-items:center;display:flex;gap:8px}.admin-dashboard .filter-group label{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.admin-dashboard .filter-group select{background:var(--ms);border:1px solid var(--mb);border-radius:3px;color:var(--text);cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600;min-width:100px;padding:6px 10px;transition:border-color .16s ease}.admin-dashboard .filter-group select:focus{border-color:var(--mbr);outline:none}.admin-dashboard .search-input{background:var(--ms);border:1px solid var(--mb);border-radius:3px;color:var(--text);flex:1 1;font-family:Exo\ 2,sans-serif;font-size:13px;padding:8px 12px;transition:border-color .16s ease}.admin-dashboard .search-input:focus{border-color:var(--mbr);outline:none}.admin-dashboard .search-input::placeholder{color:var(--text-mt)}.admin-dashboard{display:flex;flex-direction:column;min-height:100vh}.admin-dashboard .admin-loading{justify-content:center;min-height:60vh}.admin-dashboard .admin-loading,.admin-dashboard .loading-spinner{align-items:center;color:var(--text-dim);display:flex;flex-direction:column;font-family:Exo\ 2,sans-serif;font-size:13px;gap:14px}.admin-dashboard .spinner{animation:adminSpin .9s linear infinite;border:3px solid var(--mb);border-radius:50%;border-top-color:var(--gold);height:36px;width:36px}.admin-dashboard .admin-header{align-items:center;background:linear-gradient(180deg,#0b1824,#0e1e2e);border-bottom:1px solid var(--mb);display:flex;justify-content:space-between;padding:14px 28px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.admin-dashboard .admin-title h1{color:var(--gold-l);font-family:Cinzel,Georgia,serif;font-size:18px;font-weight:700;letter-spacing:.06em;margin:0 0 2px}.admin-dashboard .admin-title p{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;margin:0;text-transform:uppercase}.admin-dashboard .health-indicator{align-items:center;display:flex;gap:10px}.admin-dashboard .health-status{align-items:center;color:var(--grn-l);display:flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;gap:6px;letter-spacing:.06em}.admin-dashboard .health-dot{animation:adminPulse 2s ease-in-out infinite;background:var(--grn-l);border-radius:50%;height:8px;width:8px}.admin-dashboard .health-details{color:var(--text-mt);display:flex;font-family:Exo\ 2,sans-serif;font-size:11px;gap:10px}.admin-dashboard .admin-nav{background:var(--mg);border-bottom:1px solid var(--mb);display:flex;overflow-x:auto;padding:0 16px;scrollbar-width:none}.admin-dashboard .admin-nav::-webkit-scrollbar{display:none}.admin-dashboard .admin-nav-btn,.admin-dashboard .nav-button{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;box-shadow:none;color:var(--text-mt);cursor:pointer;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;height:44px;letter-spacing:.1em;padding:0 18px;text-transform:uppercase;transition:all .18s ease;white-space:nowrap;width:auto}.admin-dashboard .admin-nav-btn:hover,.admin-dashboard .nav-button:hover{color:var(--text)}.admin-dashboard .admin-nav-btn.active,.admin-dashboard .nav-button.active{border-bottom-color:var(--gold);color:var(--gold-l)}.admin-dashboard .admin-content{box-sizing:border-box;max-width:1400px;padding:24px 28px;width:100%}.admin-dashboard .stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:24px}.admin-dashboard .stat-card{background:var(--ms);border:1px solid var(--mb);border-radius:4px;overflow:hidden;padding:18px 20px;position:relative;transition:border-color .18s ease}.admin-dashboard .stat-card:hover{border-color:var(--mbr)}.admin-dashboard .stat-card:before{background:var(--gold);content:"";height:2px;left:0;opacity:.5;position:absolute;right:0;top:0}.admin-dashboard .stat-card h3{color:var(--gold);font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;margin:0 0 14px;text-transform:uppercase}.admin-dashboard .stat-items{display:flex;flex-direction:column;gap:8px}.admin-dashboard .stat-item{align-items:center;background:var(--ms2);border:1px solid var(--mb);border-radius:3px;display:flex;justify-content:space-between;padding:6px 10px}.admin-dashboard .stat-label{color:var(--text-dim);font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600}.admin-dashboard .stat-value{color:var(--text);font-family:Cinzel,Georgia,serif;font-size:16px;font-weight:700}.admin-dashboard .stat-value.active{color:var(--grn-l)}.admin-dashboard .roles-breakdown{display:flex;flex-direction:column;gap:6px}.admin-dashboard .role-item{align-items:center;background:var(--ms2);border:1px solid var(--mb);border-radius:3px;display:flex;justify-content:space-between;padding:6px 10px}.admin-dashboard .role-label{border-radius:2px;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.07em;padding:2px 8px;text-transform:uppercase}.admin-dashboard .role-label.admin{background:var(--red-d);border:1px solid #d9444459;color:var(--red-l)}.admin-dashboard .role-label.moderator{background:#ab47bc26;border:1px solid #ab47bc59;color:#ce93d8}.admin-dashboard .role-label.player{background:#42a5f526;border:1px solid #42a5f559;color:#42a5f5}.admin-dashboard .role-label.banned{background:#ffffff0a;border:1px solid var(--mb);color:var(--text-mt)}.admin-dashboard .role-count{color:var(--gold-l);font-family:Cinzel,Georgia,serif;font-size:18px;font-weight:700}.admin-dashboard .server-info{background:var(--ms);border:1px solid var(--mb);border-left:3px solid var(--gold);border-radius:3px;margin-bottom:24px;padding:18px 20px}.admin-dashboard .server-info h3{color:var(--gold);font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;margin:0 0 12px;text-transform:uppercase}.admin-dashboard .server-details{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-dashboard .server-item{background:var(--ms2);border:1px solid var(--mb);border-radius:3px;display:flex;flex-direction:column;gap:2px;padding:8px 10px}.admin-dashboard .server-item>span:first-child{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-dashboard .server-item>span:last-child{color:var(--text);font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:600}.admin-dashboard .admin-actions{background:var(--ms);border:1px solid var(--mb);border-radius:4px;margin-bottom:24px;padding:18px 20px}.admin-dashboard .admin-actions h3{color:var(--gold);font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;margin:0 0 12px;text-transform:uppercase}.admin-dashboard .action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.admin-dashboard .action-description{color:var(--text-mt);font-family:Crimson Pro,Georgia,serif;font-size:13px;font-style:italic;line-height:1.5;margin:6px 0 0}.admin-dashboard .logs-container,.admin-dashboard .logs-table-container{background:var(--ms);border:1px solid var(--mb);border-radius:4px;overflow:hidden}.admin-dashboard .log-row{align-items:flex-start;border-bottom:1px solid var(--mb);display:flex;gap:12px;padding:10px 14px;transition:background .14s ease}.admin-dashboard .log-row:last-child{border-bottom:none}.admin-dashboard .log-row:hover{background:var(--ms2)}.admin-dashboard .log-time{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;min-width:130px;white-space:nowrap}.admin-dashboard .log-message{color:var(--text-dim);flex:1 1;font-family:Exo\ 2,sans-serif;font-size:12px;line-height:1.4;word-break:break-word}.admin-dashboard .log-level{align-items:center;border-radius:2px;display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.06em;padding:1px 6px;text-transform:uppercase;white-space:nowrap}.admin-dashboard .log-level.info{background:#42a5f526;border:1px solid #42a5f540;color:#42a5f5}.admin-dashboard .log-level.warning{background:var(--gold-d);border:1px solid #c49a2a40;color:var(--gold)}.admin-dashboard .log-level.error{background:var(--red-d);border:1px solid #d9444440;color:var(--red-l)}.admin-dashboard .log-level.debug{background:#ffffff0a;border:1px solid var(--mb);color:var(--text-mt)}.admin-dashboard .logs-table{border-collapse:collapse;width:100%}.admin-dashboard .logs-table thead{background:var(--mg);border-bottom:1px solid var(--mb)}.admin-dashboard .logs-table th{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;padding:10px 14px;text-align:left;text-transform:uppercase}.admin-dashboard .logs-table tbody tr{border-bottom:1px solid var(--mb);transition:background .14s ease}.admin-dashboard .logs-table tbody tr:hover{background:var(--ms2)}.admin-dashboard .logs-table td{color:var(--text-dim);font-family:Exo\ 2,sans-serif;font-size:12px;padding:10px 14px;vertical-align:top}@media (max-width:768px){.admin-dashboard .admin-content{padding:16px}.admin-dashboard .admin-nav{padding:0 8px}.admin-dashboard .admin-nav-btn,.admin-dashboard .nav-button{font-size:10px;padding:0 12px}.admin-dashboard .server-details,.admin-dashboard .stats-grid{grid-template-columns:1fr}}.help-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040a14d1;display:flex;inset:0;justify-content:center;overflow:hidden;padding:24px 16px;position:fixed;z-index:10000}.help-content{--mg:#0b1824;--ms:#111e2e;--ms2:#162535;--mb:#243344;--mbr:#3a5268;--gold:#c49a2a;--gold-l:#e6b84a;--grn:#1f5435;--text:#d2c09a;--text-dim:#7a96aa;--text-mt:#485e70;animation:helpPanelSlideUp .26s cubic-bezier(.34,1.4,.64,1);background:var(--mg);border:1px solid var(--mb);border-radius:4px 4px 6px 6px;border-top:2px solid var(--gold);box-shadow:0 0 0 1px #c49a2a0f,0 24px 64px #000000bf;color:var(--text);font-family:Exo\ 2,Segoe UI,sans-serif;max-height:85vh;max-width:720px;overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--mb) #0000;scrollbar-width:thin;width:90%}.help-content::-webkit-scrollbar{width:4px}.help-content::-webkit-scrollbar-thumb{background:var(--mb);border-radius:2px}@keyframes helpPanelSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.help-header{background:linear-gradient(180deg,#c49a2a12,#0000);border-bottom:1px solid var(--mb);padding:18px 60px 14px 20px;position:relative}.help-header h2{color:var(--gold-l);font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:600;letter-spacing:.04em;margin:0}.help-close-btn{align-items:center;background:#8b2424;border:1px solid #d9444466;border-radius:3px;color:#f0d8d8;cursor:pointer;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:14px;font-weight:700;justify-content:center;padding:5px 11px;position:absolute;right:14px;top:14px;transition:background .18s ease;-webkit-user-select:none;user-select:none}.help-close-btn:hover{background:#d94444}.help-body{padding:20px}.help-section{margin-bottom:18px}.help-section:last-child{margin-bottom:0}.help-section-header{align-items:center;color:var(--text-mt);display:flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;gap:10px;letter-spacing:.1em;margin:0 0 10px;text-transform:uppercase}.help-section-header:after{background:var(--mb);content:"";flex:1 1;height:1px}.help-section ul{display:flex;flex-direction:column;gap:5px;list-style:none;margin:0;padding:0}.help-section li{align-items:flex-start;background:var(--ms);border:1px solid var(--mb);border-radius:3px;color:var(--text-dim);display:flex;font-size:14px;gap:10px;line-height:1.55;padding:10px 14px;transition:all .16s ease}.help-section li:hover{background:var(--ms2);border-color:var(--mbr)}.help-section li:before{color:var(--gold);content:"▸";flex-shrink:0;font-weight:700;margin-top:2px}.help-section strong{color:var(--text);font-weight:600}.help-footer{background:linear-gradient(180deg,#0000,#c49a2a0a);border-top:1px solid var(--mb);display:flex;justify-content:center;padding:14px 20px}.help-got-it-btn{background:var(--grn);border:1px solid #3da86e66;border-radius:3px;color:#c6f0da;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.05em;padding:9px 24px;transition:background .18s ease;-webkit-user-select:none;user-select:none}.help-got-it-btn:hover{background:#276b44}@media (max-width:768px){.help-content{max-height:92vh;width:95%}.help-header{padding:14px 54px 12px 16px}.help-header h2{font-size:16px}.help-body{padding:16px}}.error-boundary{align-items:center;display:flex;justify-content:center;min-height:60vh;padding:2rem}.error-boundary-card{background:#1e1e2ef2;border:1px solid #8b5cf666;border-radius:12px;box-shadow:0 8px 32px #00000080;color:#e2e8f0;max-width:480px;padding:2.5rem 3rem;text-align:center}.error-boundary-icon{font-size:3rem;margin-bottom:.5rem}.error-boundary-card h2{color:#f1f5f9;margin:0 0 .75rem}.error-boundary-card p{color:#94a3b8;margin:0 0 1rem}.error-boundary-detail{background:#0006;border-radius:6px;color:#fca5a5;font-size:.8rem;margin:0 0 1.25rem;max-height:6rem;overflow-y:auto;padding:.6rem .9rem;text-align:left;white-space:pre-wrap;word-break:break-word}.error-boundary-actions{display:flex;gap:.75rem;justify-content:center}.error-boundary-btn{background:#0000;border:1px solid #8b5cf680;border-radius:8px;color:#c4b5fd;cursor:pointer;font-size:.95rem;padding:.6rem 1.4rem;transition:background .15s ease,color .15s ease}.error-boundary-btn:hover{background:#8b5cf626}.error-boundary-btn-primary{background:linear-gradient(135deg,#7c3aed,#4f46e5);border-color:#0000;color:#fff}.error-boundary-btn-primary:hover{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.tutorial-library-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040a14d1;display:flex;inset:0;justify-content:center;overflow:hidden;padding:24px 16px;position:fixed;z-index:10000}.tutorial-library-modal{--mg:#0b1824;--ms:#111e2e;--ms2:#162535;--mb:#243344;--mbr:#3a5268;--gold:#c49a2a;--gold-l:#e6b84a;--gold-d:#c49a2a29;--grn:#1f5435;--grn-l:#3da86e;--grn-d:#235e3c38;--text:#d2c09a;--text-dim:#7a96aa;--text-mt:#485e70;animation:tlPanelSlideUp .26s cubic-bezier(.34,1.4,.64,1);background:var(--mg);border:1px solid var(--mb);border-radius:4px 4px 6px 6px;border-top:2px solid var(--gold);box-shadow:0 0 0 1px #c49a2a0f,0 24px 64px #000000bf;color:var(--text);display:flex;flex-direction:column;font-family:Exo\ 2,Segoe UI,sans-serif;max-height:88vh;max-width:960px;width:90%}@keyframes tlPanelSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tutorial-library-header{background:linear-gradient(180deg,#c49a2a12,#0000);border-bottom:1px solid var(--mb);flex-shrink:0;padding:18px 60px 14px 20px;position:relative}.tutorial-library-header h2{color:var(--gold-l);font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:600;letter-spacing:.04em;margin:0}.tl-close-btn{align-items:center;background:#8b2424;border:1px solid #d9444466;border-radius:3px;color:#f0d8d8;cursor:pointer;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:14px;font-weight:700;justify-content:center;padding:5px 11px;position:absolute;right:14px;top:14px;transition:background .18s ease;-webkit-user-select:none;user-select:none}.tl-close-btn:hover{background:#d94444}.tutorial-stats{align-items:center;border-bottom:1px solid var(--mb);display:flex;flex-shrink:0;flex-wrap:wrap;gap:24px;padding:14px 20px}.stat-item{display:flex;flex-direction:column;gap:2px}.stat-label{color:var(--text-mt);font-size:11px;letter-spacing:.08em}.stat-label,.stat-value{font-family:Exo\ 2,sans-serif}.stat-value{color:var(--gold-l);font-size:20px;font-weight:600}.tl-progress-bar{background:#ffffff0f;border-radius:2px;flex:1 1;height:4px;min-width:160px;overflow:hidden}.tl-progress-fill{background:var(--grn-l);border-radius:2px;height:100%;overflow:hidden;position:relative;transition:width .4s ease}.tl-progress-fill:after{animation:tlShimmer 2.6s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);content:"";inset:0;position:absolute}@keyframes tlShimmer{0%{opacity:0;transform:translateX(-200%)}30%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateX(200%)}}.tutorial-filters{align-items:center;border-bottom:1px solid var(--mb);display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px;padding:12px 20px}.tl-search-input{background:var(--ms);border:1px solid var(--mb);border-radius:3px;color:var(--text);flex:1 1;font-family:Exo\ 2,sans-serif;font-size:13px;min-width:220px;padding:7px 12px}.tl-search-input::placeholder{color:var(--text-mt)}.tl-search-input:focus{background:var(--ms2);border-color:var(--mbr);outline:none}.filter-group{align-items:center;display:flex;gap:8px}.filter-group label{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.filter-group select{background:var(--ms);border:1px solid var(--mb);border-radius:3px;color:var(--text);cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:13px;padding:6px 10px}.filter-group select:focus{border-color:var(--mbr);outline:none}.tutorial-list{display:flex;flex:1 1;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;padding:16px 20px;scrollbar-color:var(--mb) #0000;scrollbar-width:thin}.tutorial-list::-webkit-scrollbar{width:4px}.tutorial-list::-webkit-scrollbar-thumb{background:var(--mb);border-radius:2px}.no-tutorials{color:var(--text-mt);font-size:14px;padding:40px;text-align:center}.tutorial-card{background:var(--ms);border:1px solid var(--mb);border-radius:3px;padding:12px 14px;transition:all .16s ease}.tutorial-card:hover{background:var(--ms2);border-color:var(--mbr)}.tutorial-card.completed{background:#235e3c1f;border-color:#3da86e66}.tutorial-card-header{margin-bottom:8px}.tutorial-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.tutorial-icon{flex-shrink:0;font-size:16px}.tutorial-title-row h3{color:var(--text);flex:1 1;font-family:Exo\ 2,sans-serif;font-size:15px;font-weight:600;margin:0}.tl-badge{align-items:center;border-radius:2px;display:inline-flex;flex-shrink:0;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;padding:3px 8px;text-transform:uppercase}.tl-badge--green{background:#66bb6a26;border:1px solid #66bb6a59;color:#66bb6a}.tl-badge--amber{background:#ffa72626;border:1px solid #ffa72659;color:#ffa726}.tl-badge--muted{background:#485e7026;border:1px solid #485e704d;color:var(--text-mt)}.tutorial-meta{display:flex;flex-wrap:wrap;gap:8px}.tl-meta-chip{background:#ffffff0a;border:1px solid var(--mb);border-radius:2px;color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:600;letter-spacing:.06em;padding:2px 7px}.tl-meta-chip--category{border-color:#3da86e33;color:var(--grn-l)}.tl-meta-chip--duration{color:var(--text-dim)}.tutorial-description{color:var(--text-dim);font-family:Crimson Pro,Georgia,serif;font-size:15px;font-style:italic;line-height:1.5;margin:8px 0}.tutorial-card-footer{align-items:center;border-top:1px solid var(--mb);display:flex;justify-content:space-between;margin-top:10px;padding-top:10px}.tutorial-info{color:var(--text-mt);display:flex;gap:12px}.tl-start-btn,.tutorial-info{font-family:Exo\ 2,sans-serif;font-size:12px}.tl-start-btn{align-items:center;background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;border-radius:3px;color:var(--gold-l);cursor:pointer;display:inline-flex;font-weight:700;letter-spacing:.06em;padding:7px 14px;text-transform:uppercase;transition:all .18s ease;-webkit-user-select:none;user-select:none}.tl-start-btn:hover{background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 14px #c49a2a33}@media (max-width:768px){.tutorial-library-modal{max-height:94vh;width:95%}.tutorial-stats{gap:16px}.tutorial-filters{align-items:stretch;flex-direction:column}.filter-group,.tl-search-input{width:100%}}.quest-progress-panel{--mg:#0b1824;--ms:#111e2e;--ms2:#162535;--mb:#243344;--mbr:#3a5268;--gold:#c49a2a;--gold-l:#e6b84a;--grn-l:#3da86e;--text:#d2c09a;--text-dim:#7a96aa;--text-mt:#485e70;background:var(--mg);border:1px solid var(--mb);border-radius:4px 4px 6px 6px;border-top:2px solid var(--gold);color:var(--text);font-family:Exo\ 2,Segoe UI,sans-serif;margin:20px 0;padding:14px 16px}.quest-progress-panel h3{align-items:center;color:var(--gold-l);display:flex;font-family:Cinzel,Georgia,serif;font-size:15px;font-weight:600;gap:10px;letter-spacing:.04em;margin:0 0 12px}.quest-progress-panel h3:after{background:var(--mb);content:"";flex:1 1;height:1px}.progress-items{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.progress-item{align-items:center;background:var(--ms);border:1px solid var(--mb);border-radius:3px;display:flex;gap:10px;padding:10px 14px;transition:all .16s ease}.progress-item:hover{background:var(--ms2);border-color:var(--mbr)}.progress-icon{flex-shrink:0;font-size:16px}.progress-label{color:var(--text);flex:1 1;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:600;letter-spacing:.02em}.progress-value{background:#c49a2a1a;border:1px solid #c49a2a33;border-radius:2px;color:var(--gold-l);font-family:Exo\ 2,sans-serif;font-size:15px;font-weight:700;min-width:44px;padding:3px 12px;text-align:center}.progress-note{color:var(--text-mt);font-family:Crimson Pro,Georgia,serif;font-size:14px;font-style:italic;line-height:1.5;margin:0;text-align:center}@media (max-width:768px){.quest-progress-panel{margin:15px 0;padding:12px 14px}}.us-panel{--mg:#0b1824;--ms:#111e2e;--ms2:#162535;--mb:#243344;--mbr:#3a5268;--gold:#c49a2a;--gold-l:#e6b84a;--gold-d:#c49a2a29;--grn:#1f5435;--grn-l:#3da86e;--red:#8b2424;--red-l:#d94444;--text:#d2c09a;--text-dim:#7a96aa;--text-mt:#485e70;animation:usPanelIn .26s cubic-bezier(.34,1.4,.64,1);background:var(--mg);border:1px solid var(--mb);border-radius:4px 4px 6px 6px;border-top:2px solid var(--gold);box-shadow:0 0 0 1px #c49a2a0f,0 24px 64px #000000bf;color:var(--text);font-family:Exo\ 2,Segoe UI,sans-serif;margin:28px auto;max-width:640px}@keyframes usPanelIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.us-panel-header{background:linear-gradient(180deg,#c49a2a12,#0000);border-bottom:1px solid var(--mb);padding:18px 24px 14px}.us-panel-header h2{color:var(--gold-l);font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:600;letter-spacing:.04em;margin:0}.us-panel-header p{color:var(--text-dim);font-size:13px;margin:4px 0 0}.us-body{display:flex;flex-direction:column;gap:28px;padding:20px 24px 28px}.us-section-header{align-items:center;color:var(--text-mt);display:flex;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;gap:10px;letter-spacing:.1em;margin:0 0 12px;text-transform:uppercase}.us-section-header:after{background:var(--mb);content:"";flex:1 1;height:1px}.us-section-header--gold{color:var(--gold-l)}.us-info-grid{grid-gap:1px;background:var(--mb);border:1px solid var(--mb);border-radius:4px;display:grid;gap:1px;grid-template-columns:1fr 1fr;overflow:hidden}.us-info-cell{background:var(--ms);display:flex;flex-direction:column;gap:3px;padding:10px 14px}.us-info-cell .us-label{color:var(--text-mt);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.us-info-cell .us-value{color:var(--text);font-size:14px;font-weight:600}.us-form{gap:14px}.us-form,.us-form-group{display:flex;flex-direction:column}.us-form-group{gap:6px}.us-form-group label{color:var(--text-mt);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.us-form-group input{background:var(--ms);border:1px solid var(--mb);border-radius:3px;box-sizing:border-box;color:var(--text);font-family:Exo\ 2,sans-serif;font-size:14px;outline:none;padding:9px 12px;transition:border-color .16s ease;width:100%}.us-form-group input:focus{background:var(--ms2);border-color:var(--mbr)}.us-form-group input::placeholder{color:var(--text-mt)}.us-form-group input:disabled{cursor:not-allowed;opacity:.45}.us-btn-save{align-self:flex-start;background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;border-radius:3px;color:var(--gold-l);cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em;padding:9px 20px;text-transform:uppercase;transition:all .18s ease;width:auto}.us-btn-save:hover:not(:disabled){background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 14px #c49a2a33}.us-btn-save:disabled{cursor:not-allowed;opacity:.35}.us-error{background:#9b2b2b2e;border:1px solid #d9444459;border-radius:3px;color:#f0a0a0}.us-error,.us-success{font-size:13px;padding:9px 13px}.us-success{background:#235e3c38;border:1px solid #3da86e66;border-radius:3px;color:#a0e8c0}.notification-container{display:flex;flex-direction:column;gap:1rem;max-width:400px;pointer-events:none;position:fixed;right:20px;top:80px;z-index:9000}.toast-notification{align-items:center;background:linear-gradient(135deg,#16213e,#1a2746);border-left:4px solid #e94560;border-radius:12px;box-shadow:0 6px 20px #00000080;cursor:pointer;display:flex;gap:1rem;opacity:0;padding:1rem 1.5rem;pointer-events:auto;transform:translateX(450px);transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.toast-notification.toast-visible{opacity:1;transform:translateX(0)}.toast-notification:hover{box-shadow:0 8px 25px #0009;transform:translateX(-5px)}.toast-achievement{background:linear-gradient(135deg,#3a2a1a,#4a3a2a);border-left-color:gold}.toast-levelup{background:linear-gradient(135deg,#1a2e1a,#2a3e2a);border-left-color:#4caf50}.toast-quest{background:linear-gradient(135deg,#1a2a3e,#2a3a4e);border-left-color:#2196f3}.toast-loot{background:linear-gradient(135deg,#2a1a3e,#3a2a4e);border-left-color:#9c27b0}.toast-info{border-left-color:#00bcd4}.toast-icon{animation:iconBounce .6s ease-out;flex-shrink:0;font-size:2rem}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.toast-content{flex:1 1;min-width:0}.toast-title{color:#fff;font-size:1.1rem;font-weight:700;margin-bottom:.25rem;text-shadow:1px 1px 2px #00000080}.toast-message{color:#ccc;font-size:.9rem;line-height:1.4}.toast-close{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:24px;justify-content:center;padding:0;transition:all .2s ease;width:24px}.toast-close:hover{background:#ffffff1a;color:#fff;transform:scale(1.1)}@media (max-width:768px){.notification-container{left:10px;max-width:none;right:10px}.toast-notification{padding:.75rem 1rem}.toast-icon{font-size:1.5rem}.toast-title{font-size:1rem}.toast-message{font-size:.85rem}}.tutorial-overlay{height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:9999}.tutorial-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#040a14d1;height:100%;left:0;pointer-events:auto;position:absolute;top:0;width:100%}.tutorial-spotlight{animation:tut-spotlight-pulse 2.4s ease-in-out infinite;border:2px solid #c49a2a;border-radius:4px;box-shadow:0 0 0 9999px #040a14c7,0 0 18px #c49a2a80,inset 0 0 12px #c49a2a33;pointer-events:none;position:absolute;transition:all .3s ease;z-index:10000}@keyframes tut-spotlight-pulse{0%,to{box-shadow:0 0 0 9999px #040a14c7,0 0 18px #c49a2a80,inset 0 0 12px #c49a2a33}50%{box-shadow:0 0 0 9999px #040a14c7,0 0 28px #c49a2abf,inset 0 0 18px #c49a2a66}}.tutorial-content-modal{--mg:#0b1824;--ms:#111e2e;--ms2:#162535;--mb:#243344;--mbr:#3a5268;--gold:#c49a2a;--gold-l:#e6b84a;--gold-d:#c49a2a29;--grn-l:#3da86e;--red:#8b2424;--red-l:#d94444;--text:#d2c09a;--text-dim:#7a96aa;--text-mt:#485e70;animation:tut-modal-enter .26s cubic-bezier(.34,1.4,.64,1);background:var(--mg);border:1px solid var(--mb);border-radius:4px 4px 6px 6px;border-top:2px solid var(--gold);box-shadow:0 0 0 1px #c49a2a0f,0 24px 64px #000000bf;color:var(--text);font-family:Exo\ 2,Segoe UI,sans-serif;max-width:480px;min-width:360px;padding:0;pointer-events:auto;position:absolute;z-index:10001}@keyframes tut-modal-enter{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.tutorial-modal-header{background:linear-gradient(180deg,#c49a2a12,#0000);border-bottom:1px solid var(--mb);padding:14px 54px 12px 16px;position:relative}.tutorial-modal-title{color:var(--gold-l);font-family:Cinzel,Georgia,serif;font-size:16px;font-weight:600;letter-spacing:.04em;margin:0}.tutorial-modal-close{align-items:center;background:var(--red);border:1px solid #d9444466;border-radius:3px;color:#f0d8d8;cursor:pointer;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;justify-content:center;line-height:1;padding:4px 9px;position:absolute;right:12px;top:10px;transition:background .18s ease;-webkit-user-select:none;user-select:none;width:auto}.tutorial-modal-close:hover{background:var(--red-l)}.tutorial-progress{align-items:center;border-bottom:1px solid var(--mb);display:flex;gap:10px;padding:10px 16px}.tutorial-progress-text{color:var(--text-mt);font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.tutorial-progress-bar{background:#ffffff0f;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.tutorial-progress-fill{background:var(--gold);border-radius:2px;height:100%;overflow:hidden;position:relative;transition:width .4s ease}.tutorial-progress-fill:after{animation:tut-shimmer 2.6s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);content:"";inset:0;position:absolute}@keyframes tut-shimmer{0%{opacity:0;transform:translateX(-200%)}30%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateX(200%)}}.tutorial-step-dots{display:flex;gap:6px;justify-content:center;padding:8px 16px}.tutorial-step-dot{background:#ffffff1f;border-radius:50%;height:6px;transition:all .3s ease;width:6px}.tutorial-step-dot.active{background:var(--gold);transform:scale(1.4)}.tutorial-step-dot.completed{background:#c49a2a66}.tutorial-modal-content{color:var(--text-dim);font-family:Crimson Pro,Georgia,serif;font-size:16px;font-style:italic;line-height:1.6;padding:14px 16px}.tutorial-interaction-hint{background:var(--gold-d);border-left:2px solid var(--gold);border-radius:0 3px 3px 0;color:var(--gold-l);font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600;letter-spacing:.04em;margin:0 16px 4px;padding:10px 14px}.tutorial-modal-footer{align-items:center;border-top:1px solid var(--mb);display:flex;gap:6px;justify-content:space-between;padding:12px 16px}.tutorial-btn{border:1px solid #0000;border-radius:3px;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;line-height:1;padding:7px 14px;text-transform:uppercase;transition:all .18s ease;white-space:nowrap;width:auto}.tutorial-btn:disabled{cursor:not-allowed;opacity:.35}.tutorial-btn:disabled:hover{box-shadow:none;transform:none}.tutorial-btn-primary{background:linear-gradient(135deg,#7a6018,#5a4510);border-color:#c49a2a73;color:var(--gold-l)}.tutorial-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 14px #c49a2a33}.tutorial-btn-secondary{background:var(--ms);border-color:var(--mb);color:var(--text-dim)}.tutorial-btn-secondary:hover:not(:disabled){background:var(--ms2);border-color:var(--mbr);color:var(--text)}.tutorial-btn-skip{background:#8b242440;border-color:#d944444d;color:#f0b0b0}.tutorial-btn-skip:hover:not(:disabled){background:#8b242473;border-color:#d9444480}.tutorial-modal-center{left:50%!important;top:50%!important;transform:translate(-50%,-50%)}@media (max-width:768px){.tutorial-content-modal{max-width:90vw;min-width:280px}.tutorial-modal-content{font-size:15px}}@media (prefers-reduced-motion:reduce){.tutorial-content-modal,.tutorial-spotlight{animation:none}.tutorial-btn,.tutorial-progress-fill{transition:none}}.App{background-color:#1a1a2e;color:#eee;min-height:100vh}.loading{font-size:1.2rem}.auth-container,.loading{align-items:center;display:flex;justify-content:center;min-height:100vh}.auth-container{padding:20px}.auth-form,.login-form,.register-form{background-color:#16213e;border-radius:8px;box-shadow:0 4px 6px #0000004d;max-width:400px;padding:2rem;width:100%}.auth-form h2,.login-form h2,.register-form h2{color:#0f3460;margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-group label{color:#e94560;display:block;font-weight:500;margin-bottom:.5rem}.form-group input{background-color:#1a1a2e;border:1px solid #0f3460;border-radius:4px;color:#eee;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:#e94560;outline:none}button{background:linear-gradient(135deg,#e94560,#d63651);border:none;border-radius:8px;box-shadow:0 4px 12px #e945604d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:.75rem;position:relative;transition:all .3s cubic-bezier(.175,.885,.32,1.275);width:100%}button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}button:active:before{height:300px;width:300px}button:hover:not(:disabled){background:linear-gradient(135deg,#ff5770,#e94560);box-shadow:0 6px 20px #e9456080;transform:translateY(-2px)}button:active:not(:disabled){box-shadow:0 2px 8px #e9456066;transform:translateY(0)}button:disabled{background:linear-gradient(135deg,#666,#555);box-shadow:none;cursor:not-allowed;opacity:.5}.link-button{background:none;color:#e94560;font-size:inherit;padding:0;text-decoration:underline;width:auto}.link-button:hover{color:#d63651}.error,.error-message{background-color:#2d1b1b;color:#ff6b6b}.error,.error-message,.success-message{border-radius:4px;margin-bottom:1rem;padding:.75rem;text-align:center}.success-message{background-color:#1b2d1b;color:#4caf50}.reset-instructions{color:#aaa;font-size:.9rem;margin-bottom:1.5rem;text-align:center}.forgot-password-link{margin:1rem 0;text-align:center}.auth-footer{margin-top:1rem;text-align:center}.dev-reset-link{background-color:#2d1b2d;border-radius:4px;margin-top:1rem;padding:1rem}.dev-reset-link a{color:#e94560;text-decoration:none;word-break:break-all}.dev-reset-link a:hover{text-decoration:underline}.submit-button{background-color:#e94560;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background-color .2s;width:100%}.submit-button:hover:not(:disabled){background-color:#d63651}.submit-button:disabled{cursor:not-allowed;opacity:.6}.home{min-height:100vh}.home-header{align-items:center;background:linear-gradient(180deg,#0d1e2e,#0b1824);border-bottom:2px solid #c49a2a;box-shadow:0 2px 16px #00000080;display:flex;justify-content:space-between;padding:14px 24px}.home-header h1{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:600;letter-spacing:.06em;margin:0;text-shadow:0 0 28px #c49a2a47}.user-info{align-items:center;display:flex;gap:10px}.user-info>span{color:#7a96aa;font-size:13px;letter-spacing:.04em}.help-button,.user-info>span{font-family:Exo\ 2,sans-serif}.help-button{align-items:center;background:#c49a2a1a;border:1px solid #c49a2a4d;border-radius:3px;color:#c49a2a;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:32px;justify-content:center;padding:0;transition:all .18s ease;width:32px}.help-button:hover{background:#c49a2a33;border-color:#c49a2a8c;box-shadow:none;color:#e6b84a;transform:none}.tutorial-test-button{align-items:center;background:#c49a2a1a;border:1px solid #c49a2a4d;border-radius:3px;color:#c49a2a;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;margin-right:0;padding:0;transition:all .18s ease;width:36px}.tutorial-test-button:hover{background:#c49a2a33;border-color:#c49a2a8c;box-shadow:none;transform:none}.logout-button{background:#8b2424;border:1px solid #d9444466;border-radius:3px;color:#f0d8d8;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;padding:6px 14px;text-transform:uppercase;transition:background .18s ease;width:auto}.logout-button:hover{background:#d94444}.main-nav{background:#0a151f;border-bottom:1px solid #243344;display:flex;gap:0;justify-content:center;padding:0 16px}.nav-button{background:#0000;border:none;border-bottom:2px solid #0000;border-radius:0;color:#7a96aa;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;padding:13px 18px;text-transform:uppercase;transition:all .16s ease;width:auto}.nav-button:hover{background:#c49a2a0d;border-bottom-color:#c49a2a4d;color:#d2c09a}.nav-button.active{background:#c49a2a14;border-bottom-color:#c49a2a;color:#e6b84a}.nav-button.active:hover{background:#c49a2a1f;color:#e6b84a}.main-content{animation:fadeInUp .5s ease-out;padding:1rem;text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-message{margin:0 auto;max-width:600px}.welcome-message h2{color:#e94560;margin-bottom:1rem}.welcome-message p{font-size:1.1rem;line-height:1.6;margin-bottom:1rem}.placeholder-screen{background-color:#16213e;border-radius:12px;box-shadow:0 4px 8px #0000004d;margin:0 auto;max-width:600px;padding:3rem;text-align:center}.placeholder-screen h2{color:#e94560;font-size:2rem;margin-bottom:1rem}.placeholder-screen p{color:#aaa;font-size:1.2rem;line-height:1.6}.character-edit-placeholder{background-color:#16213e;border-radius:12px;box-shadow:0 4px 8px #0000004d;margin:0 auto;max-width:600px;padding:3rem;text-align:center}.character-edit-placeholder h2{color:#e94560;font-size:2rem;margin-bottom:1rem}.character-edit-placeholder p{color:#eee;font-size:1.2rem;margin-bottom:2rem}.character-edit-placeholder button{background-color:#0f3460;font-size:1rem;padding:.75rem 1.5rem;width:auto}.character-edit-placeholder button:hover{background-color:#1a4a73}.character-creator{background-color:#16213e;border-radius:12px;box-shadow:0 8px 16px #0000004d;margin:0 auto;max-width:800px;padding:2rem}.character-creator h2{color:#e94560;font-size:2rem;margin-bottom:2rem;text-align:center}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group select{background-color:#1a1a2e;border:1px solid #0f3460;border-radius:4px;color:#eee;font-size:1rem;padding:.75rem;width:100%}.form-group select:focus{border-color:#e94560;outline:none}.stats-section{background-color:#1a1a2e;border:1px solid #0f3460;border-radius:8px;margin-top:2rem;padding:1.5rem}.stats-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.stats-header h3{color:#e94560;margin:0}.stat-points{color:#eee;font-weight:500}.points-zero{color:#4caf50}.points-available{color:#ff9800}.reset-button{background-color:#0f3460;font-size:.9rem;padding:.5rem 1rem;width:auto}.reset-button:hover{background-color:#1a4a73}.stats-grid{grid-gap:1rem;display:grid;gap:1rem}.stat-row{background-color:#16213e;border:1px solid #0f3460;border-radius:6px;justify-content:space-between;padding:.75rem}.stat-info{display:flex;flex-direction:column;gap:.25rem}.stat-info label{color:#e94560;font-weight:500;margin:0}.stat-info small{color:#aaa;font-size:.8rem}.stat-controls{align-items:center;display:flex;gap:.5rem}.stat-controls button{background-color:#e94560;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;height:30px;padding:0;transition:background-color .2s;width:30px}.stat-controls button:hover:not(:disabled){background-color:#d63651}.stat-controls button:disabled{background-color:#666;cursor:not-allowed;opacity:.5}.stat-value{color:#eee;font-size:1.1rem;font-weight:700;min-width:30px;text-align:center}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.form-actions button{padding:.75rem 1.5rem;width:auto}.form-actions button[type=button]{background-color:#666}.form-actions button[type=button]:hover{background-color:#777}.character-list{margin:0 auto;max-width:1200px;padding:2rem}.character-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.character-list-header h2{color:#e94560;font-size:2rem;margin:0}.create-character-button{background-color:#e94560;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;width:auto}.create-character-button:hover:not(:disabled){background-color:#d63651}.create-character-button:disabled{background-color:#666;opacity:.5}.character-list-error,.character-list-loading{font-size:1.2rem;padding:2rem;text-align:center}.character-list-error{background-color:#2d1b1b;border-radius:8px;color:#ff6b6b}.no-characters{background-color:#16213e;border:2px dashed #0f3460;border-radius:12px;padding:3rem;text-align:center}.no-characters p{color:#aaa;font-size:1.2rem;margin-bottom:2rem}.create-first-character{background-color:#e94560;font-size:1.1rem;font-weight:500;padding:1rem 2rem;width:auto}.create-first-character:hover{background-color:#d63651}.character-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.character-card{background:linear-gradient(135deg,#16213e,#1a2746);border:2px solid #0f3460;border-radius:16px;box-shadow:0 4px 15px #0006;overflow:hidden;padding:1.5rem;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.character-card:before{background:linear-gradient(90deg,#0000,#e945601a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.character-card:hover:before{left:100%}.character-card:hover{border-color:#e94560;box-shadow:0 12px 30px #e945604d;transform:translateY(-8px) scale(1.02)}.character-header{margin-bottom:.5rem}.xp-progress{align-items:center;background:#ffc1070d;border:1px solid #ffc10733;border-radius:8px;display:flex;gap:.75rem;margin-bottom:1rem;padding:.5rem}.xp-bar-container{background:linear-gradient(135deg,#1a1a2e,#0f1419);border:2px solid #ffc1074d;border-radius:20px;box-shadow:inset 0 2px 4px #0009;flex:1 1;height:12px;overflow:hidden;position:relative}.xp-bar-fill{animation:xpShine 3s infinite;background:linear-gradient(90deg,gold,#ffed4e 50%,gold);background-size:200% 100%;border-radius:20px;box-shadow:0 0 10px #ffd70099;height:100%;position:relative;transition:width .8s cubic-bezier(.4,0,.2,1)}.xp-bar-fill:after{background:linear-gradient(180deg,#fff6,#0000);border-radius:20px 20px 0 0;content:"";height:50%;left:0;position:absolute;right:0;top:0}@keyframes xpShine{0%,to{background-position:0 50%;box-shadow:0 0 10px #ffd70099}50%{background-position:100% 50%;box-shadow:0 0 20px #ffd700e6}}.xp-text{color:gold;font-size:.75rem;font-weight:700;text-shadow:0 1px 2px #000c;white-space:nowrap}.character-header h3{color:#e94560;font-size:1.5rem;margin:0 0 .5rem}.character-info{align-items:center;display:flex;justify-content:space-between}.level{color:#4caf50;font-weight:700}.race-class{color:#aaa;font-size:.9rem}.character-stats{margin-bottom:1.5rem}.health-mana{margin-bottom:1rem}.stat-bar{align-items:center;gap:.5rem;margin-bottom:.5rem}.stat-bar label{color:#e94560;font-weight:700;margin:0;min-width:25px}.bar-container{background-color:#1a1a2e;border:2px solid #0f3460;border-radius:10px;box-shadow:inset 0 2px 4px #00000080;flex:1 1;height:20px;overflow:hidden;position:relative}.bar-container:after{background:linear-gradient(180deg,#fff3,#0000);border-radius:10px 10px 0 0;content:"";height:50%;left:0;position:absolute;right:0;top:0}.bar-fill{animation:shimmer 2s infinite;background:linear-gradient(90deg,#ffffff1a,#0000 50%,#ffffff1a);background-size:200% 100%;border-radius:8px;height:100%;position:relative;transition:width .5s cubic-bezier(.4,0,.2,1)}.bar-text{color:#eee;font-size:.9rem;min-width:60px;text-align:right}.primary-stats{margin-bottom:1rem}.primary-stats .stat-row{background-color:#1a1a2e;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.5rem}.primary-stats .stat-row span{color:#eee;font-size:.9rem;font-weight:500}.combat-stats{background-color:#1a1a2e;border-radius:6px;display:flex;justify-content:space-between;padding:.5rem}.combat-stats span{color:#aaa;font-size:.9rem}.character-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.character-actions button{font-size:.85rem;padding:.4rem .75rem;width:auto}.edit-button{background-color:#0f3460}.edit-button:hover{background-color:#1a4a73}.delete-button{background-color:#dc3545}.delete-button:hover{background-color:#c82333}.world-map{margin:0 auto;max-width:1200px;padding:2rem}.world-map h2{color:#e94560;font-size:2rem;margin-bottom:1rem;text-align:center}.world-map p{color:#aaa;font-size:1.1rem;margin-bottom:2rem;text-align:center}.map-container{display:flex;justify-content:center;margin-bottom:2rem}.map-svg{background-color:#16213e;border:2px solid #0f3460;border-radius:8px}.region-circle{transition:all .3s ease}.region-circle.unlocked:hover{filter:brightness(1.2);transform:scale(1.1)}.region-circle.locked{opacity:.6}.modal-overlay{align-items:center;background-color:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:#16213e;border-radius:12px;box-shadow:0 8px 32px #00000080;max-height:80vh;max-width:600px;overflow-y:auto;padding:2rem;width:90%}.modal-header{align-items:center;border-bottom:1px solid #0f3460;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.modal-header h3{color:#e94560;font-size:1.5rem;margin:0}.close-button{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.5rem;line-height:1;padding:0;width:auto}.close-button:hover{color:#e94560}.modal-body{color:#eee}.modal-body p{line-height:1.6;margin-bottom:1rem}.region-details{background-color:#1a1a2e;border:1px solid #0f3460;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.region-details p{color:#ccc;margin:.5rem 0}.region-details strong{color:#e94560}.modal-body h4{color:#e94560;font-size:1.2rem;margin:1.5rem 0 1rem}.character-selection{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:1.5rem}.character-selection .character-card{background-color:#1a1a2e;border:2px solid #0f3460;border-radius:8px;cursor:pointer;padding:1rem;text-align:left;transition:all .3s ease}.character-selection .character-card:hover{border-color:#e94560;transform:translateY(-2px)}.character-selection .character-card.selected{background-color:#4caf501a;border-color:#4caf50}.character-selection .character-name{color:#e94560;font-weight:700;margin-bottom:.5rem}.character-selection .character-details{color:#aaa;font-size:.9rem}.character-selection .character-details span{display:block;margin-bottom:.25rem}.error-message{background-color:#2d1b1b;border-radius:6px;color:#ff6b6b;margin-bottom:1rem;padding:.75rem;text-align:center}.modal-actions{border-top:1px solid #0f3460;display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.modal-actions button{font-size:1rem;padding:.75rem 1.5rem;width:auto}.cancel-button{background-color:#666}.cancel-button:hover{background-color:#777}.start-battle-button{background-color:#4caf50}.start-battle-button:hover:not(:disabled){background-color:#45a049}.start-battle-button:disabled{background-color:#666;cursor:not-allowed;opacity:.5}.battle-screen{background:#0b1824;color:#d2c09a;display:flex;flex-direction:row;font-family:Exo\ 2,Segoe UI,sans-serif;inset:0;overflow:hidden;position:fixed;z-index:100}.battle-left-section{flex:1 1;min-width:0}.battle-left-section,.battle-top-bar{display:flex;flex-direction:column;overflow:hidden}.battle-top-bar{align-items:flex-start;background:#0b1824;border-bottom:2px solid #243344;flex-shrink:0;gap:.4rem;padding:.5rem}.battle-top-title{font-size:.9rem;margin:0}.battle-top-title,.legend-toggle-btn{color:#e6b84a;font-family:Exo\ 2,sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.legend-toggle-btn{background:linear-gradient(135deg,#7a6018,#5a4510);border:1px solid #c49a2a73;border-radius:3px;cursor:pointer;font-size:.75rem;padding:.35rem .75rem;transition:all .18s ease}.legend-toggle-btn:hover{background:linear-gradient(135deg,#9a7820,#7a6018);box-shadow:0 0 10px #c49a2a33}.battle-top-bar .turn-order-section{background:#0000;border:none;border-radius:0;margin:0;padding:0;width:100%}.battle-top-bar .turn-order-label{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.1em;margin:0;text-transform:uppercase}.battle-content{display:flex;flex:1 1;gap:.75rem;min-height:0;overflow:hidden;padding:.75rem}.battle-left-column{display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:0}.battle-grid-wrapper{flex:1 1;min-width:0;overflow:hidden;position:relative}.battle-action-area{align-items:center;background:#0b1824;border-top:2px solid #243344;display:flex;flex-direction:row;flex-shrink:0;gap:.5rem;padding:.5rem .75rem .75rem}.battle-action-hotbar{flex:1 1;min-width:0}.battle-action-hotbar .actions-bar{margin:0}.battle-action-utility{align-items:stretch;display:flex;flex-direction:column;flex-shrink:0;gap:.4rem}.battle-action-utility>*{box-sizing:border-box;width:100%}.battle-right-panel .battle-log-bottom{flex:1 1;height:auto;margin-top:0;min-height:120px}.battle-right-panel{display:flex;flex-direction:column;flex-shrink:0;gap:.75rem;overflow-y:auto;padding:.75rem;width:20%}.battle-header{align-items:center;border-bottom:2px solid #243344;display:flex;justify-content:space-between;margin-bottom:.25rem;padding-bottom:.5rem}.battle-header h2{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:18px;font-weight:600;letter-spacing:.05em;margin:0}.exit-battle-btn{align-items:center;background:#8b2424;border:1px solid #d9444466;border-radius:3px;color:#f0d8d8;cursor:pointer;display:inline-flex;font-family:Exo\ 2,sans-serif;font-size:.8rem;font-weight:700;justify-content:center;letter-spacing:.05em;padding:.5rem 1rem;text-align:center;transition:background .18s ease;width:auto}.exit-battle-btn:hover{background:#d94444}.battle-main{display:flex;flex:1 1;gap:1rem;margin-top:0;overflow:hidden;padding-top:0}.battle-grid-container{background:#0b1824;border:2px solid #243344;border-radius:4px;box-shadow:0 4px 12px #0006;height:100%;width:100%}.grid-zoom-controls{background:#0b1824f2;border-radius:4px;box-shadow:0 4px 12px #00000080;gap:6px;padding:6px 10px;position:absolute;right:10px;top:10px;z-index:100}.grid-zoom-controls,.zoom-btn{align-items:center;border:1px solid #243344;display:flex}.zoom-btn{background:linear-gradient(135deg,#162535,#111e2e);border-radius:3px;color:#d2c09a;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:16px;font-weight:700;height:28px;justify-content:center;transition:all .18s ease;width:28px}.zoom-btn:hover{background:linear-gradient(135deg,#243344,#162535);border-color:#3a5268;color:#e6b84a}.zoom-btn:active{transform:scale(.96)}.zoom-btn.reset{color:#e6b84a;font-size:16px}.zoom-level{color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:600;min-width:40px;text-align:center}.resize-handle{background:#2196f399;position:absolute;z-index:99}.resize-handle:hover{background:#2196f3}.resize-handle.bottom,.resize-handle.top{cursor:ns-resize;height:6px;left:8px;right:8px}.resize-handle.left,.resize-handle.right{bottom:8px;cursor:ew-resize;top:8px;width:6px}.resize-handle.top{top:0}.resize-handle.bottom{bottom:0}.resize-handle.left{left:0}.resize-handle.right{right:0}.resize-handle.bottom-left,.resize-handle.bottom-right,.resize-handle.top-left,.resize-handle.top-right{border-radius:50%;height:12px;width:12px}.resize-handle.top-left{cursor:nwse-resize;left:0;top:0}.resize-handle.top-right{cursor:nesw-resize;right:0;top:0}.resize-handle.bottom-left{bottom:0;cursor:nesw-resize;left:0}.resize-handle.bottom-right{bottom:0;cursor:nwse-resize;right:0}.battle-info{background:#0b1824;border:1px solid #243344;border-radius:4px;border-top:2px solid #c49a2a;flex-shrink:0;margin-bottom:1rem;padding:.75rem 1rem}.battle-info p{color:#d2c09a;font-family:Exo\ 2,sans-serif;font-size:13px;margin:.4rem 0}.battle-info strong{color:#e6b84a}.battle-grid{background-color:#0b1824;border:2px solid #243344;border-radius:4px;display:flex;flex-direction:column;overflow:visible}.grid-row,.grid-tile{display:flex}.grid-tile{align-items:center;border:1px solid #333;cursor:pointer;height:80px;image-rendering:pixelated;image-rendering:crisp-edges;justify-content:center;position:relative;transition:all .2s ease;width:80px}.grid-tile:hover{border-color:#c49a2a;filter:brightness(1.2);transform:scale(1.05);z-index:10}.grid-tile.selected{animation:pulse 1.5s ease-in-out infinite;border:3px solid #4caf50;box-shadow:0 0 15px #4caf50b3,inset 0 0 10px #4caf504d}.grid-tile.current-turn-unit{animation:currentTurnGlow 1.5s ease-in-out infinite;border:4px solid gold!important;box-shadow:0 0 30px gold,0 0 15px #ffd700cc,inset 0 0 20px #ffd70080!important;position:relative;z-index:10!important}@keyframes currentTurnGlow{0%,to{border-color:gold;box-shadow:0 0 30px gold,0 0 15px #ffd700cc,inset 0 0 20px #ffd70080}50%{border-color:#fff;box-shadow:0 0 45px gold,0 0 25px gold,inset 0 0 30px #ffd700b3}}.grid-tile.has-unit{border-color:#e94560;box-shadow:0 0 8px #e9456066}.grid-tile.valid-move{animation:validMoveGlow 1.5s ease-in-out infinite;background:linear-gradient(135deg,#4caf5066,#4caf5033)!important;border:2px solid #4caf50;cursor:pointer}@keyframes validMoveGlow{0%,to{box-shadow:0 0 10px #4caf5080}50%{box-shadow:0 0 20px #4caf50cc}}.grid-tile.valid-move:hover{background:linear-gradient(135deg,#4caf5099,#4caf5066)!important;transform:scale(1.1)}.grid-tile.valid-target{animation:targetPulse 1s ease-in-out infinite;border:3px solid #f44336;box-shadow:0 0 15px #f44336b3;cursor:crosshair}@keyframes targetPulse{0%,to{box-shadow:0 0 15px #f44336b3;transform:scale(1)}50%{box-shadow:0 0 25px #f44336;transform:scale(1.05)}}.grid-tile.valid-target:hover{border-color:#d32f2f;box-shadow:0 0 30px #f44336;transform:scale(1.1)!important}.grid-tile.item-target{animation:itemTargetPulse 1s ease-in-out infinite;border:3px solid #4caf50;box-shadow:0 0 15px #4caf50b3;cursor:pointer}@keyframes itemTargetPulse{0%,to{box-shadow:0 0 15px #4caf50b3;transform:scale(1)}50%{box-shadow:0 0 25px #4caf50;transform:scale(1.05)}}.grid-tile.item-target:hover{border-color:#388e3c;box-shadow:0 0 30px #4caf50;transform:scale(1.1)!important}.tile-coords{background-color:#00000080;border-radius:2px;color:#666;font-size:8px;left:2px;padding:1px 2px;position:absolute;top:2px}.hazard-indicator{animation:hazard-pulse 2s ease-in-out infinite;cursor:help;filter:drop-shadow(0 0 4px rgba(255,0,0,.8));font-size:16px;position:absolute;right:2px;top:2px}@keyframes hazard-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.grid-tile.hazard-tile{animation:hazard-glow 3s ease-in-out infinite}@keyframes hazard-glow{0%,to{box-shadow:inset 0 0 10px #ff450066}50%{box-shadow:inset 0 0 20px #ff4500b3}}.unit{align-items:center;border-radius:3px;box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:flex-end;padding:2px;position:relative;width:100%}.player-unit{box-shadow:inset 0 0 0 2px #4caf50bf;color:#fff}.enemy-unit{box-shadow:inset 0 0 0 2px #f44336bf;color:#fff}.unit-backdrop{background:radial-gradient(ellipse at center,#00000073 0,#00000047 70%,#0000 100%);border-radius:6px;inset:6px}.unit-backdrop,.unit-sprite-wrap{pointer-events:none;position:absolute;z-index:0}.unit-sprite-wrap{align-items:center;display:flex;inset:0;justify-content:center}.unit-sprite{filter:none drop-shadow(0 1px 2px rgba(0,0,0,.8));filter:var(--skin-tint,none) drop-shadow(0 1px 2px rgba(0,0,0,.8));image-rendering:pixelated;image-rendering:crisp-edges;max-height:90%;max-width:90%;object-fit:contain;transition:filter .15s ease}.unit-sprite--enemy{transform:scaleX(-1)}.unit:hover .unit-sprite{filter:none drop-shadow(0 0 6px rgba(255,255,200,.8)) brightness(1.15);filter:var(--skin-tint,none) drop-shadow(0 0 6px rgba(255,255,200,.8)) brightness(1.15)}.unit-sprite--hit{animation:hitFlash .35s ease-out}.unit-sprite--lunge{animation:lunge .25s ease-out}@keyframes hitFlash{0%{filter:brightness(3) saturate(0) drop-shadow(0 0 8px red)}40%{filter:brightness(1.8) saturate(.3) drop-shadow(0 0 4px red)}to{filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}}@keyframes lunge{0%{transform:scaleX(1) translateX(0)}40%{transform:scaleX(1) translateX(8px)}to{transform:scaleX(1) translateX(0)}}.enemy-unit .unit-sprite--lunge{animation:lungeEnemy .25s ease-out}@keyframes lungeEnemy{0%{transform:scaleX(-1) translateX(0)}40%{transform:scaleX(-1) translateX(8px)}to{transform:scaleX(-1) translateX(0)}}.unit-name{background-color:#000000b8;border-radius:2px;font-family:Exo\ 2,monospace,sans-serif;font-size:7px;font-weight:700;line-height:1;max-width:95%;overflow:hidden;padding:1px 3px;position:relative;text-overflow:ellipsis;white-space:nowrap;z-index:2}.unit-hp-bar{background:#0000008c;border-radius:2px;flex-shrink:0;height:4px;margin-top:2px;overflow:hidden;position:relative;width:90%;z-index:2}.unit-hp-fill{border-radius:2px;height:100%;transition:width .3s ease,background-color .3s ease}.unit-status-icons{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;margin-top:2px;position:relative;z-index:2}.status-icon{background-color:#000000b3;border-radius:3px;cursor:help;font-size:10px;line-height:1;padding:1px 2px;transition:transform .2s ease}.status-icon:hover{background-color:#000000e6;transform:scale(1.2)}.status-icon-more{background-color:#000c;border-radius:3px;color:gold;cursor:help;font-size:7px;line-height:1;padding:1px 3px}.unit-image{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.monster-image{border-radius:4px;height:100%;image-rendering:pixelated;object-fit:contain;object-position:center;opacity:.9;width:100%}.battle-fx-container{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:30}.battle-fx{height:32px;image-rendering:pixelated;position:absolute;transform:translate(-50%,-50%);transform-origin:center center;width:32px}.battle-fx--projectile{animation:fxProjectile .45s ease-in forwards;animation:fxProjectile var(--fx-dur,.45s) ease-in forwards}.battle-fx--impact{animation:fxImpact .3s ease-out forwards;animation:fxImpact var(--fx-dur,.3s) ease-out forwards}@keyframes fxProjectile{0%{opacity:1;translate:0 0}to{opacity:.6;translate:var(--fx-dx) var(--fx-dy)}}@keyframes fxImpact{0%{opacity:1;scale:.5}60%{opacity:.9;scale:1.5}to{opacity:0;scale:2}}.battle-sidebar{display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 40px);overflow-y:auto;width:350px}.battle-sidebar-header{background:#0b1824;border:1px solid #243344;border-radius:4px;border-top:2px solid #c49a2a;padding:.75rem;text-align:center}.battle-sidebar-header h4{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.06em;margin:0}.battle-log{height:200px}.battle-log,.battle-log-bottom{background:#0b1824;border:1px solid #243344;border-radius:4px;border-top:2px solid #c49a2a;display:flex;flex-direction:column;padding:1rem}.battle-log-bottom{height:250px;margin-top:1rem}.battle-log h3,.battle-log-bottom h3{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.06em;margin:0 0 .75rem}.battle-log-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.battle-log-header h3{flex-shrink:0;margin:0}.battle-log-filters{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;gap:.25rem;overflow-x:auto;scrollbar-color:#243344 #0000;scrollbar-width:thin}.filter-btn{background:#111e2e;border:1px solid #243344;border-radius:3px;color:#7a96aa;cursor:pointer;flex-shrink:0;font-family:Exo\ 2,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:.2rem .5rem;text-transform:uppercase;transition:all .16s ease;white-space:nowrap;width:auto}.filter-btn:hover{background:#162535;border-color:#3a5268;color:#d2c09a}.filter-btn.active{background:#c49a2a29;border-color:#c49a2a;box-shadow:0 0 8px #c49a2a33;color:#e6b84a}.log-content{background:#0b1824;border:1px solid #243344;border-radius:3px;flex:1 1;font-family:Crimson Pro,Georgia,serif;font-size:14px;line-height:1.5;overflow-y:auto;padding:.6rem .75rem;scrollbar-color:#243344 #0000;scrollbar-width:thin}.log-entry{color:#d2c09a;margin-bottom:.4rem;padding:2px 0}.log-entry:last-child{margin-bottom:0}.log-entry:contains("⚔️"){color:#ff6b6b}.log-entry:contains("🏆"){color:#4caf50;font-weight:700}.log-entry:contains("💀"){color:#f44336;font-weight:700}.log-entry:contains("---"){border-top:1px solid #0f3460;color:#ff9800;font-weight:700;margin-top:.5rem;padding-top:.5rem}.log-content::-webkit-scrollbar{width:4px}.log-content::-webkit-scrollbar-track{background:#0000}.log-content::-webkit-scrollbar-thumb{background:#243344;border-radius:2px}.turn-order{background:#0b1824;border:1px solid #243344;border-radius:4px;border-top:2px solid #c49a2a;padding:1rem}.turn-order h3{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.06em;margin:0 0 .75rem}.turn-list{display:flex;flex-direction:column;gap:.4rem}.turn-item{align-items:center;background:#111e2e;border:1px solid #243344;border-radius:3px;display:flex;justify-content:space-between;padding:8px 12px;transition:all .16s ease}.turn-item.current-turn{background:#c49a2a1a;border-color:#c49a2a}.turn-name{color:#eee;flex:1 1;font-weight:700}.turn-initiative{color:#aaa;font-size:.8rem;margin:0 .5rem}.turn-type{border-radius:2px;font-size:.7rem;font-weight:700;padding:2px 4px}.turn-type.player{background-color:#4caf50;color:#fff}.turn-type.enemy{background-color:#f44336;color:#fff}.turn-order-horizontal{background:#0b1824;border:1px solid #243344;border-radius:4px;border-top:2px solid #c49a2a;box-shadow:0 2px 8px #0006;margin-bottom:1rem;padding:.75rem}.turn-order-horizontal h3{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.06em;margin:0 0 .75rem;text-align:center}.turn-order-section{align-items:center;background:#0b1824;border:1px solid #243344;border-radius:3px;border-top:2px solid #c49a2a;display:flex;gap:1rem;margin-top:0;padding:.5rem .75rem}.turn-order-label{color:#e6b84a;flex-shrink:0;font-family:Cinzel,Georgia,serif;font-size:13px;font-weight:600;letter-spacing:.06em;margin:0;white-space:nowrap}.turn-timer-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;padding:0 .5rem}.turn-timer-header h3{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:14px;font-weight:600;margin:0}.turn-timer{align-items:center;background:#111e2e;border:1px solid #c49a2a;border-radius:3px;display:flex;flex-shrink:0;font-weight:700;gap:.4rem;padding:.3rem .75rem;transition:all .3s ease;white-space:nowrap}.turn-timer.timer-warning{animation:pulse 1s ease-in-out infinite;background:#1a0f0f;border-color:#d94444}.timer-icon{font-size:1.2rem}.timer-text{color:#e6b84a;font-family:Exo\ 2,sans-serif;font-size:1rem;font-weight:700;min-width:36px;text-align:center}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.turn-list-horizontal{align-items:center;display:flex;flex:1 1;flex-wrap:nowrap;gap:.5rem;justify-content:flex-start;overflow-x:auto;scrollbar-color:#243344 #0000;scrollbar-width:thin}.turn-item-horizontal{background:#111e2e;border:1px solid #243344;border-radius:3px;display:flex;flex-direction:column;max-width:130px;min-width:110px;padding:8px 10px;transition:all .16s ease}.turn-item-horizontal.current-turn{background:#c49a2a1f;border-color:#c49a2a;box-shadow:0 0 12px #c49a2a40}.turn-item-horizontal.clickable{cursor:pointer}.turn-item-horizontal.player-unit.clickable:hover{background:#c49a2a2e;border-color:#e6b84a}.turn-item-horizontal.enemy-unit.clickable:hover{background:#8b242433;border-color:#d94444}.turn-item-horizontal.clickable:active{transform:scale(.98)}.turn-item-horizontal.player-unit{background:linear-gradient(135deg,#c49a2a14,#c49a2a05);border-left:3px solid #c49a2a}.turn-item-horizontal.enemy-unit{background:linear-gradient(135deg,#8b24241a,#8b242408);border-left:3px solid #8b2424}.turn-status-effects{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:6px}.status-effect-icon{display:inline-block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));font-size:16px}.turn-unit-header{align-items:center;border-bottom:1px solid #243344;display:flex;justify-content:space-between;margin-bottom:.4rem;padding-bottom:.25rem}.turn-name-horizontal{color:#d2c09a;flex:1 1;font-family:Exo\ 2,sans-serif;font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.turn-initiative-horizontal{background:#162535;border-radius:2px;color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:.65rem;font-weight:600;margin-left:.25rem;padding:2px 5px}.turn-unit-stats{gap:.25rem}.stat-bar,.turn-unit-stats{display:flex;flex-direction:column}.stat-bar{gap:2px}.stat-label{color:#aaa;font-size:.6rem;font-weight:700;text-transform:uppercase}.stat-bar-container{align-items:center;display:flex;gap:.25rem;width:100px}.stat-bar-bg{background:#ffffff0f;flex:1 1;height:5px}.stat-bar-bg,.stat-bar-fill{border-radius:3px;overflow:hidden;position:relative}.stat-bar-fill{height:100%;transition:width .4s ease}.stat-bar-fill:after{animation:shimmer 2.6s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff40 50%,#0000);content:"";inset:0;position:absolute}@keyframes shimmer{0%{opacity:0;transform:translateX(-200%)}30%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateX(200%)}}.hp-fill{background:linear-gradient(90deg,#e74c3c,#c0392b)}.mp-fill{background:linear-gradient(90deg,#3498db,#2980b9)}.ap-fill{background:linear-gradient(90deg,#f39c12,#e67e22)}.stat-text{color:#eee;font-size:.6rem;min-width:35px;text-align:right}@media (max-width:768px){.turn-list-horizontal{gap:.5rem}.turn-item-horizontal{max-width:120px;min-width:100px;padding:.5rem}.turn-name-horizontal{font-size:.8rem}}.unit-details{background:#0b1824;border:1px solid #243344;border-radius:4px;border-top:2px solid #c49a2a;font-family:Exo\ 2,sans-serif;margin-bottom:1rem;padding:.75rem}.turn-transition-banner{animation:slideInDown .5s ease-out,fadeOut .5s ease-in 1.5s;border-radius:12px;box-shadow:0 8px 32px #00000080;left:50%;padding:20px 40px;pointer-events:none;position:fixed;top:20%;transform:translateX(-50%);z-index:900}.turn-transition-banner.player{background:linear-gradient(135deg,#4caf50,#45a049);border:3px solid #2e7d32}.turn-transition-banner.enemy{background:linear-gradient(135deg,#f44336,#d32f2f);border:3px solid #c62828}.turn-transition-content{align-items:center;color:#fff;display:flex;gap:15px}.turn-transition-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));font-size:3rem}.turn-transition-text{display:flex;flex-direction:column;gap:5px}.turn-transition-name{font-size:1.5rem;font-weight:700;text-shadow:2px 2px 4px #00000080}.turn-transition-label{font-size:1rem;letter-spacing:1px;opacity:.9;text-transform:uppercase}@keyframes slideInDown{0%{opacity:0;transform:translateX(-50%) translateY(-100px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.unit-details h3{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:13px;font-weight:600;letter-spacing:.06em;margin:0 0 .75rem}.unit-info h4{color:#d2c09a;font-family:Exo\ 2,sans-serif;font-size:14px;font-weight:600;margin:0 0 .35rem}.unit-info p{color:#d2c09a;font-size:12px;margin:.15rem 0}.unit-info strong{color:#7a96aa;font-weight:600}.unit-stats{margin:.5rem 0}.stat-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.stat-row>span{color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;min-width:40px;text-transform:uppercase}.stat-bar{background:#ffffff0f;border-radius:3px;flex:1 1;height:10px;overflow:hidden;position:relative}.stat-fill{height:100%;transition:width .3s ease}.move-fill{background-color:#9c27b0}.stat-text{color:#fff;font-size:10px;font-weight:700;left:50%;position:absolute;text-shadow:1px 1px 1px #000c;top:50%;transform:translate(-50%,-50%)}.battle-actions{background:#0b1824;border:1px solid #243344;border-radius:4px;border-top:2px solid #c49a2a;padding:.75rem}.battle-actions h3{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:13px;font-weight:600;letter-spacing:.06em;margin:0 0 .75rem}.action-btn{background:#162535;border:1px solid #243344;border-radius:3px;color:#d2c09a;cursor:pointer;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;letter-spacing:.05em;margin-bottom:.4rem;padding:9px 14px;text-transform:uppercase;transition:all .16s ease;width:100%}.action-btn:hover:not(:disabled){background:#243344;border-color:#3a5268;color:#e6b84a}.action-btn:disabled{cursor:not-allowed;opacity:.35}.move-btn{background:#1f5435!important;border-color:#3da86e66!important;color:#c6f0da!important}.move-btn:hover:not(:disabled){background:#276b44!important;border-color:#3da86e99!important}.cancel-btn{background:#8b2424!important;border-color:#d9444466!important;color:#f0d8d8!important}.cancel-btn:hover:not(:disabled){background:#d94444!important}.end-turn-btn{background:linear-gradient(135deg,#7a6018,#5a4510)!important;border-color:#c49a2a73!important;color:#e6b84a!important}.end-turn-btn:hover:not(:disabled){background:linear-gradient(135deg,#9a7820,#7a6018)!important;box-shadow:0 0 12px #c49a2a33!important}.movement-hint{color:#3da86e}.attack-hint,.movement-hint{font-family:Crimson Pro,Georgia,serif;font-size:13px;font-style:italic;margin:.4rem 0;text-align:center}.attack-hint{color:#d94444}.skill-hint{color:#7a96aa;font-family:Crimson Pro,Georgia,serif;font-size:13px;font-style:italic;margin:.4rem 0;text-align:center}.attack-btn{background:linear-gradient(135deg,#9b2424,#6e1a1a)!important;border-color:#d9444459!important;color:#f5d5d5!important}.attack-btn:hover:not(:disabled){background:linear-gradient(135deg,#c62828,#9b2424)!important;box-shadow:0 0 16px #d9444438!important}.battle-items-panel{margin-bottom:.4rem}.battle-items-header{color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;letter-spacing:.05em;margin:.3rem 0 .2rem;text-transform:uppercase}.item-btn{background:#1a4a3a!important;border-color:#4caf5066!important;color:#c6f0da!important;letter-spacing:normal!important;text-align:left!important;text-transform:none!important}.item-btn:hover:not(:disabled){background:#22603f!important;border-color:#4caf5099!important;box-shadow:0 0 12px #4caf5033!important}.action-error{background:#8b242426;border:1px solid #d9444466;border-left:3px solid #d94444;border-radius:3px;color:#d94444;font-family:Exo\ 2,sans-serif;font-size:12px;margin-top:.75rem;padding:.6rem .75rem;position:relative}.close-error{color:#ff6b6b;font-size:1rem;line-height:1;position:absolute;right:.5rem;top:.25rem;width:auto}.close-error:hover{color:#ff8a8a}.battle-error,.battle-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:50vh;text-align:center}.battle-loading{color:#eee;font-size:1.2rem}.battle-error{color:#ff6b6b}.battle-error button{background:#8b2424;border:1px solid #d9444466;border-radius:3px;color:#f0d8d8;font-family:Exo\ 2,sans-serif;font-weight:700;letter-spacing:.05em;margin-top:1rem;padding:.75rem 1.5rem;width:auto}.battle-error button:hover{background:#d94444}.grid-tile.skill-target{border:3px solid #9c27b0;box-shadow:0 0 10px #9c27b099;cursor:crosshair}.grid-tile.skill-target:hover{border-color:#7b1fa2;box-shadow:0 0 15px #9c27b0cc}.grid-tile.skill-range{background-color:#2196f333!important;border:2px solid #2196f3}.grid-tile.skill-range:hover{background-color:#2196f34d!important}.grid-tile.weapon-range{background-color:#ffd70026!important;border:2px solid gold;box-shadow:0 0 5px #ffd70066}.grid-tile.weapon-range:hover{background-color:#ffd70040!important;box-shadow:0 0 8px #ffd70099}.grid-tile.aoe-area{background-color:#ff980066!important;border:2px solid #ff9800;box-shadow:0 0 8px #ff980099}.grid-tile.aoe-area:hover{background-color:#ff980099!important;box-shadow:0 0 12px #ff9800cc}.grid-tile.skill-range.aoe-area{background-color:#ff980066!important;border:2px solid #ff9800;box-shadow:0 0 8px #ff980099}.grid-tile.skill-target.aoe-area{background-color:#ff572280!important;border:3px solid #ff5722;box-shadow:0 0 12px #ff5722cc}.skill-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.skill-btn{background-color:#7b1fa2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem;text-align:left;transition:background-color .2s}.skill-btn:hover:not(.disabled){background-color:#9c27b0}.skill-btn.disabled{background-color:#666;cursor:not-allowed;opacity:.5}.skill-hint{color:#ccc;font-size:.9rem;margin:.5rem 0}.selected-skill-info{background-color:#16213e;border:1px solid #7b1fa2;border-radius:6px;margin-top:.5rem;padding:.75rem}.selected-skill-info p{color:#ccc;font-size:.9rem;margin:.25rem 0}.action-btn.skill-btn{background:linear-gradient(135deg,#7b1fa2,#6a1b9a)!important;box-shadow:0 4px 12px #7b1fa24d!important}.action-btn.skill-btn:hover:not(:disabled){background:linear-gradient(135deg,#9c27b0,#7b1fa2)!important;box-shadow:0 6px 20px #9c27b080!important}.action-btn.skill-btn:disabled{background:linear-gradient(135deg,#666,#555)!important;box-shadow:none!important;cursor:not-allowed;opacity:.5}.actions-bar{background:#0b1824;border:1px solid #243344;border-radius:3px;border-top:2px solid #c49a2a;display:flex;gap:6px;margin:0;padding:10px}.actions-bar.disabled{opacity:.5;pointer-events:none}.actions-bar.not-current-turn{border-color:#1e3a5f80;filter:grayscale(50%);opacity:.6;pointer-events:none}.actions-bar.not-current-turn:before{background:#8b2424e6;border-radius:3px;color:#f0d8d8;content:"Not this unit's turn - View only";font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:700;left:50%;letter-spacing:.05em;padding:3px 10px;position:absolute;top:-22px;transform:translateX(-50%);white-space:nowrap}.action-slot{align-items:center;background:#111e2e;border:1px solid #243344;border-radius:3px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:3px;max-width:96px;min-width:76px;padding:7px 5px;position:relative;transition:all .16s ease}.action-slot:hover:not(.unavailable):not(.empty){background:#c49a2a1a;border-color:#c49a2a;transform:translateY(-2px)}.action-slot.active{background:#c49a2a29;border-color:#c49a2a;box-shadow:0 0 12px #c49a2a40}.action-slot.unavailable{cursor:not-allowed;filter:grayscale(70%);opacity:.38}.action-slot.empty{background:#ffffff05;border-color:#243344;border-style:dashed;cursor:default}.action-slot-number{background:#00000080;border-radius:2px;color:#c49a2a;font-family:Exo\ 2,sans-serif;font-size:10px;font-weight:700;left:5px;min-width:18px;padding:1px 5px;position:absolute;text-align:center;top:4px}.action-slot-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));font-size:28px;margin:4px 0}.action-slot-name{align-items:center;color:#d2c09a;display:flex;flex-direction:column;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:600;gap:2px;line-height:1.2;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.skill-level-badge{background:#ffd70026;border:1px solid #ffd70066;border-radius:3px;color:gold;font-size:9px;font-weight:600;letter-spacing:.5px;padding:1px 4px;white-space:nowrap}.action-slot-cost{color:#7a96aa;font-family:Exo\ 2,sans-serif;font-size:10px;font-weight:600}.action-slot-cooldown{align-items:center;background:#f44336f2;border:3px solid #ffffff4d;border-radius:50%;box-shadow:0 4px 12px #00000080;color:#fff;display:flex;font-size:24px;font-weight:700;height:40px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px}.action-slot-empty-icon{color:#ffffff4d;font-size:36px;margin:12px 0}.battle-skills-hotbar{background-color:#16213e;border:1px solid #0f3460;border-radius:8px;margin-bottom:1rem;padding:1rem}.battle-skills-hotbar h3{color:#4fc3f7;font-size:1rem;margin:0 0 .75rem;text-align:center}.battle-skills-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:.5rem}.battle-skill-slot{background:linear-gradient(135deg,#2196f31a,#7b1fa21a);border:2px solid #4fc3f74d;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:60px;padding:.5rem;position:relative;transition:all .2s}.battle-skill-slot:hover:not(.disabled){background:linear-gradient(135deg,#2196f333,#7b1fa233);border-color:#4fc3f7;box-shadow:0 4px 12px #4fc3f74d;transform:translateY(-2px)}.battle-skill-slot.disabled{border-color:#6464644d}.battle-skill-slot-number{align-items:center;background:#4fc3f74d;border:1px solid #4fc3f780;border-radius:50%;color:#fff;display:flex;font-size:.7rem;font-weight:700;height:18px;justify-content:center;left:6px;position:absolute;top:4px;width:18px}.battle-skill-name{color:#fff;font-size:.85rem;font-weight:600;line-height:1.2;margin-bottom:.25rem;padding-top:20px;text-align:center}.battle-skill-costs{display:flex;flex-wrap:wrap;font-size:.75rem;gap:.4rem;justify-content:center}.battle-skill-mp{color:#4fc3f7;font-weight:600}.battle-skill-mp.insufficient{color:#f44336;text-decoration:line-through}.battle-skill-ap{color:#ff9800;font-size:11px;font-weight:600}.battle-skill-cooldown{color:#9c27b0;font-size:11px;font-weight:600}.battle-skill-cooldown-overlay{background:#000000b3;border-radius:6px;color:#ff9800;font-size:.8rem;font-weight:700}.battle-skills-hint{color:#999;font-size:.75rem;font-style:italic;margin-top:.25rem;text-align:center}.version-footer{background:#0b1824e0;border:1px solid #243344;border-radius:3px;bottom:10px;color:#485e70;font-family:Exo\ 2,sans-serif;font-size:11px;letter-spacing:.04em;padding:5px 10px;position:fixed;right:10px}.home-dashboard{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1100px;padding:24px}.welcome-section h2{color:#e6b84a;font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:600;letter-spacing:.04em;margin-bottom:8px;text-align:center}.welcome-section p{color:#7a96aa;font-family:Crimson Pro,Georgia,serif;font-size:17px;font-style:italic;margin-bottom:24px;text-align:center}.quick-actions{grid-gap:7px;display:grid;gap:7px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:20px}.action-card{background:#111e2e;border:1px solid #243344;border-left:3px solid #c49a2a;border-radius:3px;cursor:pointer;overflow:hidden;padding:18px 20px;position:relative;text-align:left;transition:all .16s ease}.action-card:before{display:none}.action-card:hover{background:#162535;transform:none}.action-card-achievements:hover,.action-card-characters:hover,.action-card-crafting:hover,.action-card-hexworld:hover,.action-card:hover{border-color:#3a5268 #3a5268 #3a5268 #e6b84a;box-shadow:0 4px 20px #0006}.resume-battle-card{background:linear-gradient(135deg,#8b242424,#0b1824);border-left-color:#d94444;margin-bottom:0}.action-card-battle:hover{border-color:#3a5268 #3a5268 #3a5268 #d94444;box-shadow:0 4px 20px #9b2b2b4d}.card-icon{animation:none;display:block;filter:none;font-size:1.4rem;margin-bottom:10px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.action-card h3{color:#e6b84a;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:700;letter-spacing:.1em;margin-bottom:6px;text-transform:uppercase}.action-card p{color:#7a96aa;font-family:Crimson Pro,Georgia,serif;font-size:15px;font-style:italic;line-height:1.5;margin:0 0 10px}.card-hint{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:11px;font-weight:600;letter-spacing:.06em;opacity:1;text-transform:uppercase;transform:none;transition:color .16s ease}.action-card:hover .card-hint{color:#c49a2a;opacity:1;transform:none}.recent-activity{background:#0b1824;border:1px solid #243344;border-radius:3px;border-top:2px solid #c49a2a;padding:18px 20px}.recent-activity h3{align-items:center;color:#485e70;display:flex;font-family:Exo\ 2,sans-serif;font-size:12px;font-weight:700;gap:10px;letter-spacing:.1em;margin:0 0 14px;text-align:left;text-transform:uppercase}.recent-activity h3:after{background:#243344;content:"";flex:1 1;height:1px}.activity-list{display:flex;flex-direction:column;gap:5px}.activity-item{align-items:flex-start;background:#111e2e;border:1px solid #243344;border-radius:3px;display:flex;gap:10px;padding:10px 14px}.activity-icon{flex-shrink:0;font-size:1.1rem;margin-top:1px}.activity-text p{color:#d2c09a;font-family:Exo\ 2,sans-serif;font-size:13px;font-weight:500;margin:0 0 3px}.activity-text small{color:#485e70;font-family:Exo\ 2,sans-serif;font-size:11px;letter-spacing:.03em}@media (max-width:768px){.home-dashboard{padding:14px}.quick-actions{grid-template-columns:1fr}.activity-item{flex-direction:row;gap:10px}}.crafting-container{margin:0 auto;max-width:1200px;padding:2rem}.crafting-header{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem}.crafting-header>div:first-child{flex:1 1}.crafting-header h2{color:#e94560;margin-bottom:.5rem;text-align:left}.crafting-header p{color:#ccc;font-size:1.1rem;text-align:left}.recipe-discovery-stats{background:linear-gradient(135deg,#e94560,#0f3460);border-radius:12px;box-shadow:0 4px 12px #e945604d;min-width:200px;padding:1.5rem;text-align:center}.discovery-label{color:#fff;font-size:.85rem;font-weight:600;letter-spacing:1px;margin-bottom:.5rem;opacity:.9;text-transform:uppercase}.discovery-count{color:#fff;font-size:1.8rem;font-weight:700;margin-bottom:.3rem;text-shadow:2px 2px 4px #0000004d}.discovery-percentage{color:gold;font-size:1.3rem;font-weight:700;text-shadow:0 0 10px #ffd70080}.crafting-tabs{border-bottom:2px solid #0f3460;display:flex;gap:1rem;margin-bottom:2rem}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#ccc;cursor:pointer;font-size:1rem;padding:1rem 1.5rem;transition:all .3s ease}.tab-button.active,.tab-button:hover{background-color:#e945601a;color:#e94560}.tab-button.active{border-bottom-color:#e94560}.crafting-loading{align-items:center;color:#ccc;display:flex;font-size:1.2rem;justify-content:center;min-height:400px}.crafting-error{align-items:center;background-color:#d32f2f;border-radius:8px;color:#fff;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.close-error{background:none;border:none;color:#fff;cursor:pointer;font-size:1.5rem;margin-left:1rem;padding:0}.crafting-content{min-height:500px}.crafting-tab-content{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.inventory-header{margin-bottom:2rem;text-align:center}.inventory-header h3{color:#e94560;margin-bottom:.5rem}.inventory-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.inventory-item{background-color:#16213e;border:1px solid #0f3460;border-radius:12px;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.inventory-item:hover{border-color:#e94560}.item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.item-icon{font-size:2rem;opacity:.8}.item-quantity{background-color:#e94560;border-radius:20px;color:#fff;font-size:.9rem;font-weight:700;padding:.25rem .75rem}.item-details h4{font-size:1.2rem;margin:0 0 .5rem}.item-type{color:#999;font-size:.9rem;letter-spacing:1px;margin-bottom:.5rem;text-transform:uppercase}.item-description{color:#ccc;font-size:.9rem;line-height:1.4;margin-bottom:1rem}.item-stats{align-items:center;border-top:1px solid #0f3460;display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem}.item-value{color:#ffc107;font-weight:700}.item-rarity{align-items:center;border-radius:4px;display:flex;font-size:.8rem;font-weight:700;gap:.25rem;padding:.25rem .5rem;text-transform:uppercase}.rarity-icon{font-size:1.2rem}.ingredient-rarity-icon,.rarity-icon{margin-right:.25rem}.inventory-item{transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.inventory-item:hover{box-shadow:0 8px 25px #e9456033;transform:translateY(-4px)}.ingredient{border-radius:6px;cursor:help;margin-bottom:.5rem;padding:.5rem;position:relative;transition:all .3s ease}.ingredient.sufficient{background-color:#4caf501a}.ingredient.insufficient{background-color:#f443361a}.ingredient-name{align-items:center;display:flex}.ingredient-tooltip{background:linear-gradient(135deg,#16213e,#0f3460);border:2px solid #e94560;border-radius:8px;bottom:100%;box-shadow:0 8px 24px #00000080;left:50%;margin-bottom:.5rem;max-width:400px;min-width:300px;opacity:0;padding:1rem;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:1000}.ingredient:hover .ingredient-tooltip{opacity:1;visibility:visible}.tooltip-header{border-bottom:1px solid #e945604d;color:#e94560;font-size:.95rem;font-weight:700;letter-spacing:1px;margin-bottom:.75rem;padding-bottom:.5rem;text-transform:uppercase}.tooltip-source{background-color:#0000004d;border-left:3px solid #e94560;border-radius:6px;margin-bottom:.75rem;padding:.5rem}.tooltip-source:last-child{margin-bottom:0}.source-monster{color:#fff;font-size:.95rem;font-weight:700;margin-bottom:.4rem}.source-details{align-items:center;display:flex;font-size:.85rem;gap:.75rem}.difficulty-badge{border-radius:4px;font-size:.75rem;font-weight:700;padding:.2rem .5rem;text-transform:uppercase}.difficulty-badge.trivial{background-color:#9e9e9e4d;color:#9e9e9e}.difficulty-badge.easy{background-color:#4caf504d;color:#4caf50}.difficulty-badge.normal{background-color:#2196f34d;color:#2196f3}.difficulty-badge.hard{background-color:#ff98004d;color:#ff9800}.difficulty-badge.elite{background-color:#9c27b04d;color:#9c27b0}.difficulty-badge.boss{background-color:#f443364d;color:#f44336}.difficulty-badge.legendary{background:linear-gradient(135deg,#ffd7004d,#ff57224d);color:gold;text-shadow:0 0 10px #ffd70080}.drop-chance{color:#4caf50;font-weight:700}.drop-qty{color:#2196f3}.tooltip-more{border-top:1px solid #e9456033;color:#999;font-size:.85rem;font-style:italic;margin-top:.5rem;padding-top:.5rem;text-align:center}.recipes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.recipes-header h3{color:#e94560;margin:0}.recipe-filters{display:flex;gap:1rem}.filter-select{background-color:#16213e;border:1px solid #0f3460;border-radius:6px;color:#eee;font-size:.9rem;padding:.5rem 1rem}.filter-select:focus{border-color:#e94560;outline:none}.recipes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.recipe-card{background-color:#16213e;border:2px solid #0f3460;border-radius:12px;padding:1.5rem;transition:all .3s ease}.recipe-card.craftable{border-color:#4caf50}.recipe-card.craftable:hover{box-shadow:0 8px 25px #4caf504d;transform:translateY(-4px)}.recipe-card.not-craftable{border-color:#666;opacity:.7}.recipe-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1rem}.recipe-icon{font-size:2.5rem;opacity:.9}.recipe-info h4{color:#e94560;font-size:1.3rem;margin:0 0 .5rem}.recipe-result{color:#ccc;font-size:1rem;margin-bottom:.25rem}.recipe-class{color:#999;font-size:.85rem}.recipe-description{color:#ccc;font-size:.9rem;line-height:1.4;margin-bottom:1rem}.recipe-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.stat{background-color:#0f3460;border-radius:4px;color:#eee;font-size:.85rem;font-weight:700;padding:.25rem .5rem}.recipe-ingredients{margin-bottom:1rem}.recipe-ingredients h5{color:#e94560;font-size:.9rem;margin:0 0 .5rem}.ingredient{align-items:center;border-bottom:1px solid #0f346080;display:flex;justify-content:space-between;padding:.25rem 0}.ingredient.sufficient{color:#4caf50}.ingredient.insufficient{color:#f44336}.ingredient-name{font-size:.85rem}.ingredient-quantity{font-size:.85rem;font-weight:700}.recipe-actions{align-items:center;border-top:1px solid #0f3460;display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem}.recipe-meta{color:#999;display:flex;font-size:.85rem;gap:1rem}.craft-btn{background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:.5rem 1.5rem;transition:background-color .3s ease}.craft-btn:hover:not(:disabled){background-color:#45a049}.craft-btn:disabled{background-color:#666;cursor:not-allowed;opacity:.7}.crafted-items-header{margin-bottom:2rem;text-align:center}.crafted-items-header h3{color:#e94560;margin-bottom:.5rem}.crafted-items-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.crafted-item{background-color:#16213e;border:2px solid #0f3460;border-radius:12px;padding:1.5rem;transition:all .3s ease}.crafted-item.equipped{background-color:#ff98001a;border-color:#ff9800}.crafted-item:hover{box-shadow:0 6px 20px #e9456033;transform:translateY(-2px)}.equipped-badge{background-color:#ff9800;border-radius:4px;color:#fff;font-size:.8rem;font-weight:700;margin-top:.5rem;padding:.25rem .5rem}.item-durability{margin:1rem 0}.durability-bar{background-color:#333;border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden}.durability-fill{background:linear-gradient(90deg,#f44336,#ff9800 50%,#4caf50);height:100%;transition:width .3s ease}.durability-text{color:#ccc;font-size:.85rem}.item-meta{border-top:1px solid #0f3460;color:#999;font-size:.85rem;margin-top:1rem;padding-top:1rem}.item-meta span{display:block;margin-bottom:.25rem}.empty-state{color:#999;padding:3rem 2rem;text-align:center}.empty-state p{font-size:1.1rem;margin-bottom:.5rem}.empty-state small{color:#666}@media (max-width:768px){.crafting-container{padding:1rem}.crafting-tabs{flex-direction:column;gap:0}.tab-button{border-bottom:1px solid #0f3460;border-radius:0;text-align:left}.recipes-header{align-items:stretch;flex-direction:column;gap:1rem}.recipe-filters{flex-direction:column;gap:.5rem}.crafted-items-grid,.inventory-grid,.recipes-grid{grid-template-columns:1fr}.recipe-actions{align-items:stretch;flex-direction:column;gap:1rem}.recipe-meta{justify-content:center}.grid-tile{height:40px;width:40px}.battle-grid{max-height:calc(100vh - 250px)}}@media (max-width:1024px) and (min-width:768px){.grid-tile{height:50px;width:50px}.battle-grid{max-height:calc(100vh - 280px)}}.welcome-banner{animation:slideDown .4s cubic-bezier(.34,1.4,.64,1);background:linear-gradient(180deg,#235e3c33,#1b462e1f);border:1px solid #3da86e59;border-radius:3px;border-top:2px solid #3da86e;margin-bottom:20px;padding:16px 20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.welcome-banner h2{color:#3da86e;font-family:Cinzel,Georgia,serif;font-size:17px;font-weight:600;letter-spacing:.04em;margin:0 0 6px}.welcome-banner p{color:#7a96aa;font-family:Crimson Pro,Georgia,serif;font-size:15px;font-style:italic;line-height:1.55;margin:0}.loading-overlay{align-items:center;background-color:#000000d9;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #243344;border-radius:50%;border-top-color:#c49a2a;height:50px;margin-bottom:1rem;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-overlay p{color:#eee;font-size:1.2rem;margin:0}.battle-lock-loading{align-items:center;background-color:#0a0a1a;display:flex;height:100vh;justify-content:center;width:100%}.status-effects-container{background:#0000004d;border:1px solid #ffffff1a;border-radius:5px;margin-top:15px;padding:10px}.status-effects-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.status-effect{align-items:center;border-radius:4px;cursor:help;display:flex;font-size:12px;font-weight:700;gap:5px;padding:5px 10px;transition:all .2s}.status-effect:hover{box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.status-effect-burn,.status-effect-poison{background:#0f03;border:1px solid #0f0;color:#0f0}.status-effect-invisibility{background:#8080ff33;border:1px solid #8080ff;color:#8080ff}.status-effect-root,.status-effect-stun{background:#ff800033;border:1px solid #ff8000;color:#ff8000}.status-effect-damagebuff,.status-effect-statbuff{background:#ffd70033;border:1px solid gold;color:gold}.status-effect-damagereduction{background:#00bfff33;border:1px solid #00bfff;color:#00bfff}.effect-icon{font-size:16px;line-height:1}.effect-name{font-size:11px;white-space:nowrap}.effect-turns{background:#0000004d;border-radius:3px;font-size:10px;margin-left:2px;opacity:.8;padding:2px 5px}.battle-skill-cooldown-overlay{align-items:center;background:#000000d9;border-radius:8px;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0}.cooldown-timer-large{color:#f44;font-size:32px;font-weight:700;line-height:1;text-shadow:0 0 10px #ff444480}.cooldown-text{color:#f88;font-size:10px;letter-spacing:1px;margin-top:4px;text-transform:uppercase}.battle-skill-slot.disabled{cursor:not-allowed;filter:grayscale(60%);opacity:.5}.battle-skill-slot.disabled:hover{box-shadow:0 2px 5px #0003;transform:none}
/*# sourceMappingURL=main.6f1de8f6.css.map*/