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}.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;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}.equipment-slot{background-color:#1a1a2e;border:2px dashed #666;border-radius:8px;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}}.character-list{max-width:1400px;padding:1.5rem}.character-list-header{flex-wrap:wrap;gap:1rem}.character-list-header h2{color:#333;font-size:1.8rem}.create-character-button,.create-first-character{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;box-shadow:0 2px 4px #007bff33;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.create-character-button:hover,.create-first-character:hover{box-shadow:0 4px 8px #007bff4d;transform:translateY(-1px)}.create-character-button:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.character-list-error,.character-list-loading{font-size:1.1rem;padding:3rem}.character-list-error{color:#dc3545}.no-characters{padding:4rem 2rem}.no-characters p{color:#666}.character-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));margin-top:1.5rem}.character-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.character-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.character-header{border-bottom:2px solid #f8f9fa;margin-bottom:1.5rem;padding-bottom:1rem;position:relative}.character-title-row{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.character-header h3{color:#2c3e50;font-size:1.4rem;font-weight:700;margin:0}.character-info{flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.level{background:linear-gradient(135deg,#7b1fa2,#4a148c);border-radius:20px;box-shadow:0 2px 6px #7b1fa24d;color:#fff;font-size:.9rem;font-weight:600;padding:.25rem .75rem}.race-class{color:#6c757d;font-size:.95rem;font-weight:500}.talent-points-badge{align-items:center;animation:pulse-glow 2s infinite;background:linear-gradient(135deg,#ffc107,#ff9800);border:2px solid #fff;border-radius:20px;box-shadow:0 3px 10px #ffc10780;color:#000;display:flex;font-size:.8rem;font-weight:700;gap:.3rem;padding:.4rem .7rem;position:absolute;right:-8px;top:-8px}@keyframes pulse-glow{0%,to{box-shadow:0 3px 10px #ffc10780;transform:scale(1)}50%{box-shadow:0 5px 20px #ffc107cc;transform:scale(1.05)}}.stat-bar{gap:.75rem}.stat-bar label{font-size:.9rem;font-weight:600;width:28px}.bar-container{background:#e9ecef}.bar-fill{border-radius:10px;transition:width .3s ease}.bar-text{color:#495057;font-size:.85rem;font-weight:600;min-width:55px}.primary-stats{background:#f8f9fa;border-radius:8px;padding:1rem}.stat-row{font-size:.9rem;font-weight:500}.stat-row:last-child{margin-bottom:0}.stat-row span{color:#495057}.equipment-display{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;margin-bottom:1rem;padding:1rem}.equipment-slots{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:.75rem}.equipment-slot-container{align-items:center;display:flex;flex-direction:column;gap:.5rem}.equipment-slot-container .slot-label{color:#495057;font-size:.75rem;font-weight:700;text-align:center;text-transform:uppercase}.equipment-slot.empty{align-items:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;display:flex;height:48px;justify-content:center;transition:all .2s ease;width:48px}.equipment-slot.empty:hover{background:#e9ecef;border-color:#adb5bd}.equipment-slot.empty .empty-text{font-size:1.2em;opacity:.5}.equipment-bonuses{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.5rem}.bonus{border:1px solid #28a74533;border-radius:12px;font-size:.75rem;font-weight:600;padding:.2rem .5rem}.bonus,.bonus.positive{background:#28a7451a;color:#155724}.bonus.positive{border-color:#28a74533}.combat-stats{background:#fff3cd;border:1px solid #ffeaa7;color:#856404;font-size:.9rem;font-weight:600;padding:.75rem}.character-actions{gap:.75rem;margin-top:1.5rem}.edit-button{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:.75rem;transition:all .2s ease}.edit-button:hover{box-shadow:0 3px 6px #28a7454d;transform:translateY(-1px)}.progression-button{background:linear-gradient(135deg,#7b1fa2,#9c27b0);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:.75rem;transition:all .2s ease}.progression-button:hover{box-shadow:0 3px 6px #7b1fa24d;transform:translateY(-1px)}.equipment-button{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:.75rem;transition:all .2s ease}.equipment-button:hover{box-shadow:0 3px 6px #ff6b6b4d;transform:translateY(-1px)}.delete-button{background:linear-gradient(135deg,#dc3545,#c82333);border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:.75rem 1rem;transition:all .2s ease}.delete-button:hover{box-shadow:0 3px 6px #dc35454d;transform:translateY(-1px)}@media (max-width:768px){.character-grid{gap:1.5rem;grid-template-columns:1fr}.character-list{padding:1rem}.equipment-slots{gap:.5rem}.equipment-slot{min-height:50px;min-width:70px;padding:.5rem}.combat-stats{flex-direction:column;gap:.25rem;text-align:center}}@media (max-width:480px){.character-list-header{flex-direction:column;text-align:center}.character-actions{flex-direction:column}}.character-edit{background:#1a1a1a;border-radius:8px;color:#fff;margin:0 auto;max-width:800px;padding:20px}.character-edit h2{color:#4a9eff;margin-bottom:30px;text-align:center}.character-edit-form{display:flex;flex-direction:column;gap:30px}.form-section{background:#2a2a2a;border:1px solid #333;border-radius:8px;padding:20px}.form-section h3{color:#4a9eff;font-size:1.2em;margin-bottom:15px}.form-group{gap:5px}.form-group label{color:#ccc;font-weight:700}.equipment-slot select,.form-group input{background:#333;border:1px solid #444;border-radius:4px;color:#fff;font-size:14px;padding:8px 12px}.equipment-slot select:focus,.form-group input:focus{border-color:#4a9eff;box-shadow:0 0 0 2px #4a9eff33;outline:none}.equipment-grid{grid-gap:15px;gap:15px;grid-template-columns:1fr}.equipment-slot{gap:5px}.equipment-slot label{color:#ccc;font-weight:700}.equipment-slot select{width:100%}.stats-grid{display:flex;flex-direction:column}.stat-row{flex-direction:column;gap:8px}.stat-row>span:first-child{color:#4a9eff;font-weight:700}.base-stats,.derived-stats,.equipment-bonuses{display:flex;flex-wrap:wrap;gap:15px}.base-stats span,.derived-stats span,.equipment-bonuses span{background:#333;border-radius:4px;font-size:14px;min-width:60px;padding:4px 8px;text-align:center}.equipment-bonuses span.positive{background:#2d5a2d;color:#90ee90}.form-actions{gap:15px;justify-content:center;margin-top:20px}.form-actions button{border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:12px 24px;transition:all .3s ease}.form-actions button[type=submit]{background:#4a9eff;color:#fff}.form-actions button[type=submit]:hover:not(:disabled){background:#3a8eef}.form-actions button[type=submit]:disabled{background:#666;cursor:not-allowed}.form-actions button[type=button]{background:#666;color:#fff}.form-actions button[type=button]:hover{background:#777}.error-message{background:#4a1a1a;border:1px solid #633;border-radius:4px;padding:10px}@media (min-width:768px){.equipment-grid{grid-template-columns:repeat(3,1fr)}.base-stats,.derived-stats,.equipment-bonuses{justify-content:space-between}}.skill-tree-container{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;display:flex;gap:20px;min-height:100vh;padding:20px;position:relative}.success-notification{animation:slideInRight .3s ease-out;background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:10px;box-shadow:0 4px 20px #4caf5066;color:#fff;font-weight:700;padding:15px 25px;position:fixed;right:20px;top:20px;z-index:10000}.skill-tree-main{flex:1 1}.skill-tree-main,.skill-tree-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;padding:20px}.skill-tree-sidebar{width:300px}.skill-tree-header{align-items:center;border-bottom:2px solid #ffffff1a;display:flex;justify-content:between;margin-bottom:20px;padding-bottom:15px}.skill-tree-title{color:#4fc3f7;font-size:28px;font-weight:700;text-shadow:0 0 10px #4fc3f74d}.talent-points-display{background:linear-gradient(135deg,#7b1fa2,#4a148c);border-radius:25px;box-shadow:0 4px 15px #7b1fa24d;font-size:16px;font-weight:700;padding:10px 20px;text-align:center}.category-filters{background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;margin-bottom:20px;padding:15px}.category-filters-label{color:#90a4ae;font-size:14px;font-weight:700;letter-spacing:1px;margin-bottom:10px;text-transform:uppercase}.category-filter-buttons{display:flex;flex-wrap:wrap;gap:10px}.category-filter-button{align-items:center;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:20px;color:#b0bec5;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .3s ease}.category-filter-button:hover{background:#4fc3f71a;border-color:#4fc3f74d;box-shadow:0 4px 12px #4fc3f733;color:#4fc3f7;transform:translateY(-2px)}.category-filter-button.active{background:linear-gradient(135deg,#7b1fa2,#4a148c);border-color:#ab47bc;box-shadow:0 4px 15px #7b1fa266;color:#fff}.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:linear-gradient(90deg,#0000,#ffd7001a 50%,#0000);border-radius:8px;color:gold;font-size:18px;font-weight:700;letter-spacing:2px;margin-bottom:15px;padding:10px;text-align:center;text-shadow:0 0 10px #ffd70080;text-transform:uppercase}.skill-tier-row{background:#ffffff05;border:1px solid #ffffff0d;border-radius:15px;flex-wrap:wrap;gap:20px;padding:20px}.skill-node,.skill-tier-row{align-items:center;display:flex;justify-content:center}.skill-node{animation:fadeInScale .5s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff0d;border:3px solid #0000;border-radius:15px;cursor:pointer;flex-direction:column;height:140px;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275);width:140px}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.skill-node:hover{box-shadow:0 12px 35px #0006;transform:scale(1.1) translateY(-5px);z-index:10}.skill-node.selected{border-color:gold;box-shadow:0 0 30px #ffd70099;transform:scale(1.05)}.skill-node.learned{animation:learnedPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#4caf50,#2e7d32);border-color:#66bb6a;box-shadow:0 0 25px #4caf5080}@keyframes learnedPulse{0%,to{box-shadow:0 0 25px #4caf5080}50%{box-shadow:0 0 35px #4caf50cc}}.skill-node.can-learn{animation:canLearnGlow 1.5s ease-in-out infinite;background:linear-gradient(135deg,#2196f3,#1565c0);border-color:#42a5f5;box-shadow:0 0 25px #2196f380}@keyframes canLearnGlow{0%,to{box-shadow:0 0 25px #2196f380}50%{box-shadow:0 0 35px #2196f3cc}}.skill-node.cannot-learn{background:#ffffff05;border-color:#616161;cursor:not-allowed;opacity:.5}.skill-node.locked{background:#f443361a;border-color:#f44336;cursor:not-allowed;opacity:.4}.skill-connection-line{background:linear-gradient(180deg,#0000,#ffd70080);height:30px;left:50%;position:absolute;top:-30px;transform:translateX(-50%);width:3px;z-index:0}.skill-node.learned .skill-connection-line{background:linear-gradient(180deg,#0000,#4caf50b3)}.learned-checkmark{align-items:center;animation:checkmarkBounce .5s ease-out;background:#4caf50;border-radius:50%;box-shadow:0 2px 8px #4caf5099;color:#fff;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;position:absolute;right:8px;top:8px;width:24px}@keyframes checkmarkBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.skill-category-badge{background:#7b1fa2e6;border-radius:12px;bottom:4px;color:#fff;font-size:9px;font-weight:700;left:4px;letter-spacing:.5px;padding:3px 8px;position:absolute;text-transform:uppercase}.skill-icon{align-items:center;background:#ffffff1a;border-radius:8px;display:flex;font-size:24px;height:48px;justify-content:center;margin-bottom:8px;width:48px}.skill-name{font-size:12px;font-weight:700;line-height:1.2;max-width:100px;overflow:hidden;text-align:center;text-overflow:ellipsis}.skill-cost{background:#7b1fa2e6;bottom:4px;min-width:16px;right:4px;text-align:center}.skill-cost,.skill-requirement{border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;position:absolute}.skill-requirement{background:#ff9800e6;left:4px;top:4px}.skill-details-panel{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;margin-top:20px;padding:20px}.skill-details-title{color:#4fc3f7;font-size:20px;font-weight:700;margin-bottom:10px}.skill-details-description{color:#b0bec5;font-size:14px;line-height:1.5;margin-bottom:15px}.skill-effects{margin-top:15px}.skill-effects-title{color:#81c784;font-size:16px;font-weight:700;margin-bottom:10px}.skill-effect-item{display:flex;font-size:14px;justify-content:between;padding:5px 0}.skill-effect-label{color:#90a4ae}.skill-effect-value{color:#4fc3f7;font-weight:700}.learn-skill-button{background:linear-gradient(135deg,#4caf50,#2e7d32);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:15px;padding:12px;transition:all .3s ease;width:100%}.learn-skill-button:hover{background:linear-gradient(135deg,#66bb6a,#4caf50);box-shadow:0 4px 15px #4caf504d;transform:translateY(-2px)}.learn-skill-button:disabled{background:#424242;cursor:not-allowed;opacity:.6}.passive-bonuses-section{margin-top:30px}.passive-bonuses-title{color:#ab47bc;font-size:18px;font-weight:700;margin-bottom:15px;text-align:center}.stat-bonuses-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:20px}.stat-bonus-item{background:#ab47bc1a;border-radius:8px;display:flex;font-size:14px;justify-content:between;padding:8px 12px}.stat-bonus-label{color:#ce93d8}.stat-bonus-value{color:#ab47bc;font-weight:700}.passive-abilities-list{margin-top:20px}.passive-abilities-title{color:#ff9800;font-size:16px;font-weight:700;margin-bottom:10px}.passive-ability-item{background:#ff98001a;border-radius:8px;color:#ffb74d;font-size:14px;margin-bottom:5px;padding:8px 12px}.loading-spinner{height:200px}.skill-tree-empty-state{background:#ffffff0d;border:2px dashed #fff3;border-radius:15px;margin:50px auto;max-width:600px;padding:40px;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:#4fc3f7;font-size:28px;margin-bottom:15px}.skill-tree-empty-state p{color:#b0bec5;font-size:16px;line-height:1.6;margin-bottom:15px}.empty-state-info{background:#2196f31a;border-left:3px solid #2196f3;border-radius:4px;margin:20px 0;padding:15px;text-align:left}.empty-state-hint{background:#ff98001a;border:1px solid #ff98004d;border-radius:8px;margin-top:20px;padding:15px;text-align:left}.empty-state-hint strong{color:#ff9800;display:block;font-size:16px;margin-bottom:10px}.empty-state-hint p{background:#0000004d;border-radius:4px;color:#4fc3f7;font-family:Courier New,monospace;font-size:14px;padding:10px}.talent-history-section{margin-top:30px;max-height:300px;overflow-y:auto}.talent-history-title{color:#7b1fa2;font-size:16px;font-weight:700;margin-bottom:15px}.talent-transaction{align-items:center;background:#7b1fa21a;border-radius:8px;display:flex;font-size:12px;justify-content:between;margin-bottom:5px;padding:8px 12px}.talent-transaction.positive{border-left:3px solid #4caf50}.talent-transaction.negative{border-left:3px solid #f44336}.talent-transaction-points{font-weight:700}.talent-transaction-points.positive{color:#4caf50}.talent-transaction-points.negative{color:#f44336}.talent-transaction-source{color:#90a4ae}.reset-skills-section{border-bottom:2px solid #ffffff1a;margin-bottom:20px;padding-bottom:15px;text-align:center}.reset-skills-button{background:linear-gradient(135deg,#f44336,#c62828);border:none;border-radius:8px;box-shadow:0 4px 15px #f443364d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:all .3s ease}.reset-skills-button:hover{background:linear-gradient(135deg,#e53935,#d32f2f);box-shadow:0 6px 20px #f4433666;transform:translateY(-2px)}.reset-skills-button:disabled{background:#424242;cursor:not-allowed;opacity:.6;transform:none}.modal-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{animation:slideUp .3s ease-out;background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #f443364d;border-radius:15px;box-shadow:0 10px 40px #00000080;max-width:500px;padding:30px}.modal-header{color:#f44336;font-size:24px;font-weight:700;margin-bottom:20px;text-align:center;text-shadow:0 0 10px #f443364d}.modal-body{color:#b0bec5;line-height:1.6;margin-bottom:25px}.modal-body p{margin-bottom:10px}.modal-body strong{color:#4fc3f7;font-weight:700}.modal-warning{border-top:1px solid #ff980033;color:#ff9800!important;font-weight:700;margin-top:15px!important;padding-top:15px;text-align:center}.modal-actions{gap:15px;justify-content:center}.modal-button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:700;min-width:120px;padding:12px 30px;transition:all .3s ease}.modal-button-cancel{background:linear-gradient(135deg,#616161,#424242);color:#fff}.modal-button-cancel:hover{background:linear-gradient(135deg,#757575,#616161);box-shadow:0 4px 15px #6161614d;transform:translateY(-2px)}.modal-button-confirm{background:linear-gradient(135deg,#f44336,#c62828);color:#fff}.modal-button-confirm:hover{background:linear-gradient(135deg,#e53935,#d32f2f);box-shadow:0 4px 15px #f4433666;transform:translateY(-2px)}.skill-tooltip{animation:tooltipFadeIn .2s ease-out;background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #4fc3f7;border-radius:12px;box-shadow:0 8px 32px #000c;max-width:350px;min-width:280px;padding:15px;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{border-bottom:1px solid #4fc3f74d;gap:10px;margin-bottom:10px;padding-bottom:10px}.tooltip-header,.tooltip-icon{align-items:center;display:flex}.tooltip-icon{background:#4fc3f71a;border-radius:8px;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.tooltip-title{color:#4fc3f7;flex:1 1;font-size:16px;font-weight:700;line-height:1.2}.tooltip-category{background:#7b1fa2e6;border-radius:10px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase}.tooltip-description{color:#b0bec5;font-size:13px;line-height:1.4;margin-bottom:10px}.tooltip-requirements{background:#ffffff08;border-radius:6px;display:flex;gap:15px;margin-bottom:10px;padding:8px}.tooltip-requirement-item{display:flex;flex:1 1;flex-direction:column;gap:2px}.tooltip-label{color:#90a4ae;font-size:10px;letter-spacing:.5px;text-transform:uppercase}.tooltip-value-met{color:#4caf50;font-size:13px;font-weight:700}.tooltip-value-unmet{color:#f44336;font-size:13px;font-weight:700}.tooltip-effects{margin-top:10px}.tooltip-effects-section{margin-bottom:8px}.tooltip-section-title{color:#81c784;font-size:12px;font-weight:700;margin-bottom:5px}.tooltip-effect-item{color:#b0bec5;font-size:12px;padding:2px 0}.tooltip-effect-item span{color:#4fc3f7}.tooltip-passive-ability{background:#ff98000d;border-radius:4px;display:flex;flex-direction:column;gap:4px;margin-top:5px;padding:6px}.tooltip-passive-name{color:#ff9800;font-size:12px;font-weight:700;margin-bottom:2px}.tooltip-passive-desc{color:#b0bec5;font-size:11px;font-style:italic;line-height:1.4;padding-left:4px}.tooltip-warning{background:#f443361a;border-left:3px solid #f44336;border-radius:4px;color:#f44336;font-size:11px;margin-top:10px;padding:8px}.tooltip-status{border-radius:6px;font-size:12px;font-weight:700;margin-top:10px;padding:8px;text-align:center}.tooltip-status.learned{background:#4caf5033;border:1px solid #4caf50;color:#4caf50}.tooltip-status.can-learn{background:#2196f333;border:1px solid #2196f3;color:#2196f3}.skill-hotbar-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#2196f326,#7b1fa226);border:2px solid #2196f34d;border-radius:15px;box-shadow:0 4px 20px #0000004d;margin-bottom:25px;padding:20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.hotbar-header{margin-bottom:15px;text-align:center}.hotbar-title{color:#4fc3f7;font-size:18px;font-weight:700;margin-bottom:5px}.hotbar-hint{color:#90a4ae;font-size:12px;font-style:italic}.skill-hotbar{gap:10px}.hotbar-slot,.skill-hotbar{display:flex;justify-content:center}.hotbar-slot{align-items:center;background:#ffffff0d;border:2px dashed #fff3;border-radius:10px;cursor:pointer;flex-direction:column;height:100px;position:relative;transition:all .3s ease;width:100px}.hotbar-slot.empty:hover{background:#2196f31a;border-color:#2196f380;transform:scale(1.05)}.hotbar-slot.filled{background:linear-gradient(135deg,#2196f333,#7b1fa233);border:2px solid #4fc3f7}.hotbar-slot.filled:hover{background:linear-gradient(135deg,#f4433633,#f443364d);border-color:#f44336;transform:scale(1.05)}.hotbar-slot-number{background:#0009;border-radius:4px;color:#fff;font-size:10px;font-weight:700;left:4px;min-width:16px;padding:2px 6px;position:absolute;text-align:center;top:4px}.hotbar-skill{align-items:center;display:flex;flex-direction:column;gap:4px;justify-content:center;padding:5px}.hotbar-skill-icon{font-size:24px;margin-bottom:4px}.hotbar-skill-name{color:#4fc3f7;font-size:11px;font-weight:700;line-height:1.2;max-width:90px;overflow:hidden;text-align:center;text-overflow:ellipsis}.hotbar-skill-cost{background:#ab47bc33;color:#ab47bc}.hotbar-skill-cooldown,.hotbar-skill-cost{border-radius:4px;font-size:9px;font-weight:700;padding:2px 6px}.hotbar-skill-cooldown{background:#ff980033;color:#ff9800}.hotbar-empty-icon{color:#fff3;font-size:36px;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:linear-gradient(135deg,gold,#ffab00);border-radius:10px;box-shadow:0 2px 8px #ffd70066;color:#000;font-size:11px;font-weight:700;padding:2px 8px;position:absolute;right:5px;top:5px;z-index:10}.skill-xp-bar{background:#ffffff1a;border-radius:10px;box-shadow:inset 0 1px 3px #0000004d;height:8px;margin:8px 0;overflow:hidden;width:100%}.skill-xp-progress{background:linear-gradient(90deg,#7b1fa2,#9c27b0 50%,#ba68c8);box-shadow:0 0 10px #9c27b080;height:100%;transition:width .3s ease-in-out}.skill-level-highlight{color:gold!important;font-weight:700;text-shadow:0 0 10px #ffd70080}.character-progression-container{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;min-height:100vh}.progression-header{padding:20px 20px 0}.back-to-characters-button{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:700;margin-bottom:10px;padding:10px 20px;transition:all .3s ease}.back-to-characters-button:hover{background:#fff3;border-color:#4fc3f7;transform:translateX(-3px)}.progression-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-bottom:none;border-radius:15px 15px 0 0;display:flex;margin-top:10px;padding:10px}.tab-button{background:#0000;border-radius:10px;color:#b0bec5;flex:1 1;font-size:16px;font-weight:700;margin-right:10px;padding:15px 20px}.tab-button:last-child{margin-right:0}.tab-button:hover{background:#fff3!important;text-shadow:0 2px 4px #000000b3!important}.tab-button.active,.tab-button:hover{color:#fff!important;font-size:18px!important}.tab-button.active{background:#0d47a1!important;border:2px solid #fff!important;box-shadow:0 4px 15px #1565c080;text-shadow:0 3px 6px #000000e6!important}.tab-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:0 0 15px 15px;border-top:none;margin:0 20px 20px;min-height:600px}.character-stats-container{padding:30px}.character-info-card{background:linear-gradient(135deg,#7b1fa2,#4a148c);border-radius:15px;box-shadow:0 8px 25px #7b1fa24d;margin-bottom:30px;padding:25px}.character-header{align-items:center;display:flex;justify-content:between;margin-bottom:15px}.character-header h2{color:#fff;font-size:32px;font-weight:700;margin:0;text-shadow:0 0 10px #ffffff4d}.character-level{background:#fff3;border-radius:20px;font-size:16px;font-weight:700;padding:8px 16px}.character-class-race{display:flex;gap:15px}.character-class,.character-race{background:#ffffff26;border-radius:15px;font-size:14px;font-weight:700;padding:6px 12px}.stats-section{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;padding:20px}.stats-section h3{border-bottom:2px solid #4fc3f74d;color:#4fc3f7;font-size:20px;font-weight:700;margin:0 0 20px;padding-bottom:10px;text-align:center}.combat-stats,.derived-stats,.resistance-stats,.stats-comparison{display:flex;flex-direction:column;gap:12px}.stat-row{background:#ffffff08;border-left:3px solid #0000;border-radius:10px;font-size:14px;justify-content:between;padding:10px 15px;transition:all .3s ease}.stat-row:hover{background:#ffffff14;border-left-color:#4fc3f7}.stat-label{color:#b0bec5;flex:1 1}.stat-base{color:#90a4ae;min-width:30px}.stat-base,.stat-bonus{margin-right:10px;text-align:right}.stat-bonus{font-weight:700;min-width:40px}.stat-final{color:#4fc3f7;font-weight:700;min-width:50px;text-align:right}.passive-abilities{display:flex;flex-wrap:wrap;gap:10px}.passive-ability-badge{background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:20px;box-shadow:0 2px 10px #ff98004d;color:#fff;font-size:12px;font-weight:700;padding:8px 16px;text-align:center}.town-bonuses-description{color:#666;font-size:13px;font-style:italic;margin:8px 0 16px}.town-bonuses-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.town-bonus-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #28a745;border-radius:10px;box-shadow:0 2px 8px #28a74533;padding:12px;transition:transform .2s,box-shadow .2s}.town-bonus-card:hover{box-shadow:0 4px 16px #28a7454d;transform:translateY(-2px)}.town-bonus-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.town-name{color:#1a5c2a;font-size:14px;font-weight:700}.town-type-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;text-transform:uppercase}.town-bonus-details{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.town-bonus-details strong{color:#333;font-size:13px}.bonus-value{background:linear-gradient(135deg,#28a745,#20c997);border-radius:12px;font-size:12px;padding:4px 10px}.town-bonus-description{color:#555;font-size:12px;line-height:1.4;margin:0}.stat-row:has(.stat-label:contains("Health Points")),.stat-row:has(.stat-label:contains("Mana Points")){overflow:hidden;position:relative}.stat-row:has(.stat-label:contains("Health Points")):before{background:linear-gradient(90deg,#4caf5033,#0000);border-radius:10px;content:"";height:100%;left:0;position:absolute;top:0;z-index:-1}.stat-row:has(.stat-label:contains("Mana Points")):before{background:linear-gradient(90deg,#2196f333,#0000);border-radius:10px;content:"";height:100%;left:0;position:absolute;top:0;z-index:-1}.loading-spinner{color:#4fc3f7;font-size:18px;height:400px}.error-message{background:#f443361a;border-radius:15px;color:#f44336;font-size:16px;margin:20px;padding:20px}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.character-progression-container{margin:0}.progression-tabs{flex-direction:column;gap:5px;margin:10px 10px 0}.tab-content{margin:0 10px 10px}.character-stats-container{padding:20px}.character-header{align-items:flex-start;flex-direction:column;gap:10px}.character-header h2{font-size:24px}.stats-grid{gap:15px;grid-template-columns:1fr}.stat-row{font-size:13px;padding:8px 12px}.character-class-race{flex-wrap:wrap}}@media (max-width:480px){.character-info-card{padding:20px}.stats-section{padding:15px}.stat-row{align-items:flex-start;flex-direction:column;gap:5px}.stat-base,.stat-bonus,.stat-final{min-width:auto;text-align:left}}.character-equipment-screen{background:linear-gradient(135deg,#1a1a2e,#16213e);margin:0 auto;max-width:1600px;min-height:100vh;padding:2rem}.equipment-header{align-items:center;border-bottom:2px solid #ffffff1a;display:flex;gap:2rem;margin-bottom:2rem;padding-bottom:1rem}.equipment-header h2{color:#fff;flex:1 1;font-size:2rem;margin:0}.back-button{background:linear-gradient(135deg,#7b1fa2,#4a148c);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.back-button:hover{box-shadow:0 4px 12px #7b1fa266;transform:translateY(-2px)}.unequip-all-button{background:linear-gradient(135deg,#f44336,#c62828);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.unequip-all-button:hover{box-shadow:0 4px 12px #f4433666;transform:translateY(-2px)}.equipment-container{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.paper-doll{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;padding:2rem;position:relative}.paper-doll:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 600'%3E%3Cg stroke='rgba(255,255,255,0.1)' stroke-width='2' fill='none'%3E%3Cellipse cx='150' cy='80' rx='35' ry='40'/%3E%3Cpath d='M150 120v25M100 155h100M100 155l-30 45M70 200l-10 60M200 155l30 45M230 200l10 60M130 145l-10 65-5 70-5 60M170 145l10 65 5 70 5 60M130 145h40M120 210h60M115 280h70M110 340h80M120 340l-10 110M110 450l-10 90M180 340l10 110M190 450l10 90'/%3E%3C/g%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;content:"";height:600px;left:50%;opacity:.6;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:300px;z-index:0}.paper-doll>*{position:relative;z-index:1}.paper-doll h3{color:#4fc3f7;font-size:1.5rem;margin:0 0 1.5rem;text-align:center}.equipment-grid{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:140px 140px 140px;grid-template-rows:repeat(8,auto);justify-content:center;padding:2rem 0}.slot-spacer{visibility:hidden}.equipment-slot{align-items:center;background:#ffffff14;border:2px dashed #fff3;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:120px;padding:1rem;position:relative;transition:all .3s ease}.equipment-slot.empty:hover{background:#4fc3f71a;border-color:#4fc3f7;transform:scale(1.02)}.equipment-slot.filled{background:linear-gradient(135deg,#7b1fa24d,#4a148c4d);border:2px solid #7b1fa280}.equipment-slot.filled:hover{border-color:#f44336;box-shadow:0 4px 12px #f443364d;transform:scale(1.02)}.slot-label{color:#fff9;font-size:.75rem;font-weight:700;margin-bottom:.5rem;text-align:center;text-transform:uppercase}.empty-slot-icon{font-size:2rem;opacity:.3}.equipped-item{text-align:center;width:100%}.item-name{font-size:.9rem;font-weight:600}.item-name,.two-handed-badge{color:#fff;margin-bottom:.5rem}.two-handed-badge{background:linear-gradient(135deg,#ff6b6b,#c92a2a);border-radius:8px;display:inline-block;font-size:.7rem;font-weight:700;padding:.2rem .5rem}.item-stats{flex-wrap:wrap;font-size:.75rem;gap:.25rem;justify-content:center}.stat-bonus{background:#4caf5033;border-radius:4px;color:#4caf50;font-weight:600;padding:.15rem .4rem}.inventory-panel{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;max-height:800px;overflow-y:auto;padding:2rem}.inventory-panel h3{color:#4fc3f7;font-size:1.3rem;margin:0 0 .5rem}.inventory-hint{color:#fff9;font-size:.85rem;margin-bottom:1rem}.inventory-grid{grid-gap:.75rem;gap:.75rem;grid-template-columns:1fr}.inventory-item{background:#ffffff14;border:2px solid #ffffff1a;border-radius:8px;cursor:grab;padding:.75rem;transition:all .2s ease}.inventory-item:hover{background:#4fc3f71a;border-color:#4fc3f7;transform:translateX(4px)}.inventory-item:active{cursor:grabbing;opacity:.6}.no-inventory{color:#fff6;font-style:italic;padding:2rem;text-align:center}.error-message{border:1px solid #f44336;padding:1rem}.equipment-error,.equipment-loading{color:#fff;font-size:1.2rem;padding:4rem;text-align:center}.equipment-error{color:#f44336}@media (max-width:1200px){.equipment-container{grid-template-columns:1fr}.inventory-panel{max-height:400px}}@media (max-width:768px){.character-equipment-screen{padding:1rem}.grid-row{grid-template-columns:1fr}.slot-spacer{display:none}.equipment-slot{min-height:100px}}.hex-grid-container{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:8px;box-shadow:0 4px 20px #00000080;height:600px;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}@keyframes hex-glow{0%,to{stroke-width:2;opacity:.5}50%{stroke-width:4;opacity:1}}.hex-glow{animation:hex-glow 1.5s 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}.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}@media (max-width:768px){.hex-grid-container{height:400px}.hex-name{font-size:6px!important}.hex-emoji{font-size:16px!important}}.town-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;max-height:90vh;max-width:900px;overflow-y:auto}.town-header{align-items:center;border-bottom:2px solid #3a4a6b;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.town-header h2{color:gold;font-size:28px;margin:0}.close-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:32px;height:32px;line-height:32px;padding:0;width:32px}.close-btn:hover{color:#ff6b6b}.town-description{background:#ffffff0d;border-left:4px solid #3a86ff;border-radius:8px;margin-bottom:25px;padding:15px}.town-description p{line-height:1.6;margin:8px 0}.town-type{color:#a0a0a0;font-size:14px;font-style:italic}.town-progress{background:#ffffff14;border-radius:10px;margin-bottom:25px;padding:20px}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.progress-header h3{color:gold;margin:0}.fast-travel-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:8px 16px;transition:transform .2s}.fast-travel-btn:hover{transform:scale(1.05)}.liberation-status{padding:20px;text-align:center}.not-liberated{color:#ff6b6b;font-size:20px;margin-bottom:10px}.standing-bar{margin-bottom:15px}.standing-label{font-size:16px;font-weight:700;margin-bottom:8px}.standing-bar-bg{background:#0000004d;border:2px solid #3a4a6b;border-radius:15px;height:30px;overflow:hidden;width:100%}.standing-bar-fill{border-radius:15px;height:100%;transition:width .5s ease,background-color .5s ease}.level-bonuses{color:#a0d7ff;font-size:14px}.town-quests{margin-bottom:25px}.town-quests h3{color:gold;margin-bottom:15px}.quest-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.quest-card{background:#ffffff0d;border:2px solid #3a4a6b;border-radius:10px;padding:15px;transition:transform .2s,border-color .2s}.quest-card:hover{border-color:#667eea;transform:translateY(-3px)}.quest-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.quest-type{background:#3a86ff;border-radius:12px;color:#fff;font-size:12px;font-weight:700;padding:4px 10px;text-transform:uppercase}.quest-reward{color:gold;font-size:14px;font-weight:700}.quest-description{color:#e0e0e0;font-size:14px;line-height:1.5;margin:10px 0}.complete-quest-btn{background:linear-gradient(135deg,#06d6a0,#06a77d);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px;transition:transform .2s;width:100%}.complete-quest-btn:hover:not(:disabled){transform:scale(1.05)}.complete-quest-btn:disabled{cursor:not-allowed;opacity:.6}.town-bonuses{margin-bottom:25px}.town-bonuses h3{color:gold;margin-bottom:15px}.bonus-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}@media (max-width:768px){.bonus-grid{grid-template-columns:1fr}}.bonus-slot{background:#ffffff0d;border:2px solid #3a4a6b;border-radius:10px;padding:15px}.bonus-slot h4{color:#a0d7ff;font-size:14px;margin:0 0 12px;text-align:center;text-transform:uppercase}.bonus-tier{background:#0000004d;border:2px solid #3a4a6b;border-radius:8px;margin-bottom:10px;padding:12px;transition:all .3s}.bonus-tier.active{background:#06d6a01a;border-color:#06d6a0}.bonus-tier.locked{opacity:.5}.bonus-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.bonus-name{font-size:14px}.bonus-level,.bonus-name{color:#fff;font-weight:700}.bonus-level{background:#667eea;border-radius:10px;font-size:11px;padding:2px 8px}.bonus-description{color:#d0d0d0;font-size:13px;line-height:1.4;margin:8px 0}.locked-badge{background:#ef476f}.active-badge,.locked-badge{border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:700;padding:4px 10px}.active-badge{background:#06d6a0}.town-actions{border-top:2px solid #3a4a6b;display:flex;gap:10px;justify-content:flex-end;padding-top:20px}.btn-secondary{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:10px 24px;transition:background .2s}.btn-secondary:hover{background:#5a6268}.error-message{background:#ff6b6b;color:#fff;font-weight:700;margin-bottom:15px;padding:12px}.hex-world-map{background:linear-gradient(135deg,#0f0f1e,#1a1a2e);color:#fff;padding:20px}.hex-world-header{align-items:center;border-bottom:2px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.hex-world-header h2{color:#fff;font-size:28px;margin:0}.world-description{color:#ffffffb3;margin:5px 0 0}.world-status{gap:20px}.travel-points,.world-status{align-items:center;display:flex}.travel-points{background:#ffffff1a;border-radius:8px;gap:10px;padding:10px 20px}.tp-label{color:#fffc;font-size:14px}.tp-value{color:#4caf50;font-size:20px;font-weight:700}.map-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.map-controls button{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px;transition:all .3s ease}.map-controls button:hover:not(:disabled){background:#fff3;transform:translateY(-2px)}.map-controls button:disabled{cursor:not-allowed;opacity:.5}.zoom-display{background:#ffffff0d;border-radius:6px;min-width:60px;padding:8px 12px;text-align:center}.info-message{background:#2196f333;border:1px solid #2196f380;border-radius:8px;color:#64b5f6}.error-message,.info-message{margin-bottom:20px;padding:15px}.error-message{background:#f4433633;border:1px solid #f4433680;border-radius:8px;color:#ef5350}.no-map-message{background:#ffffff0d;border-radius:8px;color:#ffffff80;font-size:18px;padding:40px;text-align:center}.tile-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.hex-modal{animation:slideUp .3s ease;background:linear-gradient(135deg,#1a1a2e,#2a2a4e);border-radius:12px;box-shadow:0 10px 40px #00000080;max-height:80vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:flex-start;border-bottom:1px solid #ffffff1a;padding:20px}.modal-header h3{color:#fff;font-size:24px;margin:0 0 10px}.zone-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:700;padding:4px 12px}.zone-1{background:#66bb6a;color:#fff}.zone-2{background:#42a5f5;color:#fff}.zone-3{background:#ab47bc;color:#fff}.zone-4{background:#ff7043;color:#fff}.zone-5{background:#ffa726;color:#fff}.zone-6{background:#ec407a;color:#fff}.close-button{font-size:32px;height:32px;transition:transform .2s ease;width:32px}.close-button:hover{transform:scale(1.2)}.modal-content{padding:20px}.tile-description{color:#fffc;line-height:1.5;margin:0 0 20px}.tile-info-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.info-item{background:#ffffff0d;border-radius:6px;display:flex;justify-content:space-between;padding:10px}.info-item .label{color:#fff9;font-size:14px}.info-item .value{color:#fff;font-weight:700}.gate-notice{background:#ffd70033;border:1px solid #ffd70080;color:gold;grid-column:1/-1;justify-content:center}.resources-section{margin-bottom:20px}.resources-section h4{color:#fff;margin:0 0 15px}.resources-list{display:flex;flex-direction:column;gap:12px}.resource-item{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:12px}.resource-header{display:flex;justify-content:space-between;margin-bottom:8px}.resource-name{color:#fff;font-weight:700}.resource-rarity{font-size:12px;font-weight:700}.resource-stock{align-items:center;display:flex;gap:10px;margin-bottom:5px}.stock-bar{background:#ffffff1a;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.stock-fill{height:100%;transition:width .3s ease}.stock-text{color:#ffffffb3;font-size:12px;min-width:50px;text-align:right}.respawn-info{color:#ffffff80;font-size:11px}.monsters-section{margin-bottom:20px}.monsters-section h4{color:#fff;margin:0 0 15px}.monsters-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.monster-item{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:10px}.monster-info{display:flex;justify-content:space-between;margin-bottom:5px}.monster-name{color:#fff;font-weight:700}.monster-level{color:#ffa726;font-size:12px;font-weight:700}.monster-details{display:flex;flex-direction:column;gap:3px}.monster-type{color:#ffffffb3;font-size:12px}.modal-actions{border-top:1px solid #ffffff1a;gap:10px;margin-top:20px;padding-top:20px}.travel-button{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-weight:700;padding:12px;transition:all .3s ease}.travel-button:hover:not(:disabled){box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.travel-button:disabled{cursor:not-allowed;opacity:.5}.cancel-button{background:#ffffff1a;border:1px solid #fff3;padding:12px 24px}.cancel-button:hover{background:#fff3}.current-location-notice{background:#2196f333;border:1px solid #2196f380;border-radius:8px;color:#64b5f6;flex:1 1;font-weight:700;padding:12px;text-align:center}@media (max-width:768px){.hex-world-header{align-items:flex-start;flex-direction:column;gap:15px}.world-status{width:100%}.monsters-list{grid-template-columns:1fr}.modal-actions{flex-direction:column}}.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}}.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}.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 .5s ease-out,fadeOut .5s ease-in 2.5s forwards;background:#000000e6;border-left:4px solid;border-radius:8px;box-shadow:0 4px 12px #00000080;display:flex;max-width:400px;min-width:280px;padding:12px;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:#fff;font-size:14px;font-weight:700;margin-bottom:2px}.passive-description{color:#ccc;font-size:12px;line-height:1.3}.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 .5s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#1a1a2ef2,#0f3460f2);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.victory-content{background:linear-gradient(135deg,#16213e,#0f3460);border:3px solid #4caf50;border-radius:20px;box-shadow:0 20px 60px #0009;max-width:700px;opacity:0;padding:3rem;transform:scale(.8);transition:all .5s cubic-bezier(.68,-.55,.265,1.55);width:90%}.victory-content.show{opacity:1;transform:scale(1)}.victory-header{margin-bottom:2rem;position:relative;text-align:center}.victory-title{animation:glow 2s ease-in-out infinite alternate,bounce .8s ease-out;color:#4caf50;font-size:3.5rem;letter-spacing:4px;margin:0;text-shadow:0 0 10px #4caf50,0 0 20px #4caf50,0 0 30px #4caf50,3px 3px 6px #000c}@keyframes glow{0%{text-shadow:0 0 10px #4caf50,0 0 20px #4caf50,0 0 30px #4caf50,3px 3px 6px #000c}to{text-shadow:0 0 20px #4caf50,0 0 30px #4caf50,0 0 40px #4caf50,0 0 50px #4caf50,3px 3px 6px #000c}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.victory-banner{animation:expandBanner .8s ease-out .3s both;background:linear-gradient(90deg,#0000,#4caf50 50%,#0000);height:4px;margin-top:1rem}@keyframes expandBanner{0%{margin-left:50%;width:0}to{margin-left:0;width:100%}}.victory-body{margin-bottom:2rem}.experience-section{background:#4caf501a;border:2px solid #4caf504d;border-radius:12px;margin-bottom:3rem;padding:2rem;text-align:center}.experience-section h2{color:#4caf50;font-size:1.5rem;margin:0 0 1rem}.exp-amount{animation:countUp 1.5s ease-out;color:#fff;font-size:3rem;font-weight:900;text-shadow:2px 2px 4px #00000080}@keyframes countUp{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.bonuses-section{animation:slideUp .5s ease-out;background:linear-gradient(135deg,#9c27b026,#673ab726);border:2px solid #9c27b066;border-radius:12px;margin-bottom:2rem;padding:1.5rem;text-align:center}.bonuses-section h2{color:#ba68c8;font-size:1.3rem;margin:0 0 1rem;text-shadow:0 0 10px #ba68c880}.bonuses-grid{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1rem}.bonus-item{animation:popIn .4s ease-out both;background:#9c27b01a;border:1px solid #9c27b04d;gap:.8rem;justify-content:center;padding:.8rem}.bonus-icon{font-size:1.5rem}.bonus-label{color:#ce93d8;font-size:1rem;font-weight:500}.bonus-value{background:#9c27b04d;border-radius:20px;color:#fff;font-size:1.2rem;font-weight:700;padding:.3rem .8rem;text-shadow:0 0 5px #ba68c8cc}.bonuses-note{color:#ba68c8;font-size:.85rem;font-style:italic;margin:.5rem 0 0;opacity:.9}.loot-section{animation:slideUp .5s ease-out}.loot-section h2{color:#e94560;font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.loot-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.loot-item{animation:popIn .4s ease-out both;background:#16213ecc;border:2px solid #0f3460;border-radius:10px;overflow:hidden;padding:1rem;position:relative;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.loot-item:before{animation:shine 3s infinite;background:linear-gradient(45deg,#0000 30%,#ffffff1a 50%,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes shine{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}to{transform:translateX(100%) translateY(100%) rotate(45deg)}}@keyframes popIn{0%{opacity:0;transform:scale(0) rotate(-180deg)}70%{transform:scale(1.1) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.loot-item:hover{box-shadow:0 10px 25px #e9456066;transform:translateY(-5px) scale(1.05)}.loot-quantity{background:#000c;border-radius:12px;color:#fff;font-size:.9rem;font-weight:700;padding:.25rem .5rem;position:absolute;right:.5rem;top:.5rem}.loot-name{font-size:1.1rem;font-weight:700;margin:.5rem 0;text-shadow:1px 1px 2px #000c}.loot-rarity{color:#aaa;font-size:.8rem;letter-spacing:1px;text-transform:uppercase}.no-loot-section{color:#999;font-style:italic;padding:2rem;text-align:center}.tiles-section{animation:slideUp .5s ease-out;margin-top:2rem}.tiles-section h2{color:#ffc107;font-size:1.5rem;margin-bottom:1.5rem;text-align:center;text-shadow:0 0 10px #ffc10780}.tiles-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.tile-unlocked{align-items:center;animation:popIn .4s ease-out both;background:#ffc1071a;border:2px solid #ffc107;border-radius:10px;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.tile-unlocked:hover{box-shadow:0 10px 25px #ffc10766;transform:translateY(-5px) scale(1.05)}.tile-icon{animation:bounce 1s ease-in-out infinite;font-size:2.5rem}.tile-name{color:#ffc107;font-size:1.1rem;font-weight:700;text-shadow:1px 1px 2px #000c}.victory-footer{border-top:2px solid #4caf504d;padding-top:2rem;text-align:center}.continue-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:50px;box-shadow:0 6px 20px #4caf5066;color:#fff;cursor:pointer;font-size:1.3rem;font-weight:700;letter-spacing:2px;padding:1rem 3rem;text-transform:uppercase;transition:all .3s ease}.continue-btn:hover:not(:disabled){box-shadow:0 10px 30px #4caf5099;transform:translateY(-3px)}.continue-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.victory-content{padding:2rem 1.5rem}.exp-amount,.victory-title{font-size:2.5rem}.loot-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.continue-btn{font-size:1.1rem;padding:.75rem 2rem}}.character-xp-list{display:flex;flex-direction:column;gap:1rem}.character-xp-item{grid-gap:.5rem;background:#0000004d;border:1px solid #4caf504d;border-radius:8px;display:grid;gap:.5rem;grid-template-columns:1fr auto;padding:.75rem 1rem}.character-xp-name{color:#4caf50;font-size:1.1rem;font-weight:700;grid-column:1}.character-xp-level{color:#aaa;font-size:.9rem;grid-column:2;text-align:right}.character-xp-progress{grid-column:1/-1}.xp-bar-container{background:#00000080;border-radius:10px;height:20px;margin-bottom:.25rem;width:100%}.xp-bar-fill{background:linear-gradient(90deg,#4caf50,#8bc34a);box-shadow:0 0 10px #4caf5099;transition:width 1s ease-out}.xp-text{color:#ddd;font-size:.85rem;text-align:center}.achievements-container{color:#e0e0e0;margin:0 auto;max-width:1400px;padding:20px}.achievements-header{align-items:center;background:linear-gradient(135deg,#7b1fa233,#512da833);border:1px solid #7b1fa24d;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.achievements-header h2{color:#fff;font-size:2rem;margin:0;text-shadow:0 2px 4px #00000080}.achievements-stats{display:flex;gap:20px}.stat-card{background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;padding:10px 20px;text-align:center}.stat-value{color:gold;font-size:1.8rem;text-shadow:0 2px 4px #00000080}.stat-label{color:#b0b0b0;font-size:.9rem;margin-top:5px}.achievements-progress-bar{background:#0000004d;border:2px solid #7b1fa24d;border-radius:15px;height:30px;margin-bottom:30px;overflow:hidden}.achievements-progress-fill{align-items:center;background:linear-gradient(90deg,#7b1fa2,#9c27b0,#ba68c8);box-shadow:0 0 20px #9c27b080;display:flex;height:100%;justify-content:flex-end;padding-right:10px;transition:width .5s ease}.achievements-categories{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.category-button{background:#ffffff0d;border:1px solid #fff3;border-radius:8px;color:#e0e0e0;cursor:pointer;font-size:.95rem;font-weight:500;padding:10px 20px;transition:all .3s ease}.category-button:hover{background:#ffffff1a;border-color:#7b1fa280;transform:translateY(-2px)}.category-button.active{background:linear-gradient(135deg,#7b1fa2,#512da8);border-color:#9c27b0;box-shadow:0 4px 12px #7b1fa266;color:#fff}.achievements-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:40px}.achievement-card{background:linear-gradient(135deg,#1e1e1ecc,#141414e6);border:2px solid #ffffff1a;border-radius:12px;display:flex;gap:15px;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.achievement-card:before{background:linear-gradient(90deg,#0000,#7b1fa280,#0000);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.achievement-card:hover{border-color:#7b1fa280;box-shadow:0 8px 24px #0006;transform:translateY(-4px)}.achievement-card:hover:before{opacity:1}.achievement-card.unlocked{background:linear-gradient(135deg,#282814cc,#1e1e0fe6);border-color:#ffd70066}.achievement-card.unlocked:before{background:linear-gradient(90deg,#0000,#ffd70099,#0000);opacity:1}.achievement-card.locked{opacity:.7}.achievement-icon{align-items:center;background:#0000004d;border:2px solid #ffffff1a;border-radius:12px;display:flex;flex-shrink:0;font-size:3rem;height:80px;justify-content:center;width:80px}.achievement-card.unlocked .achievement-icon{background:linear-gradient(135deg,#ffd70033,#ffc1071a);border-color:#ffd70066;box-shadow:0 0 20px #ffd7004d}.achievement-content{display:flex;flex:1 1;flex-direction:column;gap:8px}.achievement-name{color:#fff;font-size:1.2rem;font-weight:600;margin:0}.achievement-card.unlocked .achievement-name{color:gold;text-shadow:0 0 10px #ffd70080}.achievement-description{color:#b0b0b0;font-size:.9rem;line-height:1.4;margin:0}.achievement-category-badge{background:#7b1fa24d;border:1px solid #7b1fa280;border-radius:12px;color:#ba68c8;display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.achievement-unlocked-info{align-items:center;display:flex;gap:10px;margin-top:auto}.unlocked-badge{background:linear-gradient(135deg,#4caf50,#388e3c);border-radius:6px;box-shadow:0 2px 8px #4caf5066;color:#fff;font-size:.85rem;font-weight:600;padding:6px 12px}.unlocked-date{color:#888;font-size:.8rem}.achievement-progress{display:flex;flex-direction:column;gap:6px;margin-top:auto}.progress-text{color:#e0e0e0;font-size:.9rem;font-weight:500}.progress-bar-container{background:#0006;border:1px solid #ffffff1a}.progress-bar-fill{background:linear-gradient(90deg,#7b1fa2,#9c27b0);box-shadow:0 0 10px #9c27b099;transition:width .5s ease}.progress-percentage{color:#ba68c8;font-size:.8rem;font-weight:600;text-align:right}.no-achievements{color:#888;padding:60px 20px;text-align:center}.no-achievements p{font-size:1.1rem}.player-stats-summary{background:linear-gradient(135deg,#1e1e1ecc,#141414e6);border:2px solid #7b1fa24d;border-radius:12px;margin-top:50px;padding:30px}.player-stats-summary h3{color:#fff;font-size:1.5rem;margin:0 0 25px;text-align:center}.stats-grid{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-item{background:#0000004d;border:1px solid #ffffff1a;padding:15px;transition:all .3s ease}.stat-item:hover{background:#0006;border-color:#7b1fa266;transform:translateY(-2px)}.stat-icon{font-size:1.8rem}.stat-name{color:#b0b0b0;flex:1 1;font-size:.9rem}.stat-number{color:gold;font-size:1.3rem;font-weight:700;text-shadow:0 2px 4px #00000080}.loading{color:#888;padding:60px 20px;text-align:center}@media (max-width:768px){.achievements-header{flex-direction:column;gap:20px}.achievements-stats{justify-content:space-around;width:100%}.achievements-grid,.stats-grid{grid-template-columns:1fr}}.users-manager{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px}.users-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-left:5px solid #3498db;border-radius:16px;box-shadow:0 8px 25px #00000026;display:flex;justify-content:space-between;margin-bottom:20px;padding:24px 30px}.users-title h2{color:#2c3e50;font-size:2rem;font-weight:700;margin:0 0 8px}.users-title p{color:#6c757d;font-size:1.1rem;margin:0}.user-stats-summary{align-items:flex-end;display:flex;flex-direction:column;gap:12px}.stat-item{gap:8px}.stat-label{color:#6c757d}.role-breakdown{display:flex;flex-wrap:wrap;gap:12px}.role-stat{border-radius:12px;color:#fff;font-size:.85rem;font-weight:600;padding:4px 10px}.role-stat.role-admin{background:linear-gradient(135deg,#dc3545,#c82333)}.role-stat.role-moderator{background:linear-gradient(135deg,#fd7e14,#e55a00)}.role-stat.role-player{background:linear-gradient(135deg,#28a745,#1e7e34)}.role-stat.role-banned{background:linear-gradient(135deg,#6c757d,#495057)}.users-filters{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-radius:12px;box-shadow:0 4px 15px #0000001a;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:20px 24px}.search-group,.users-filters{align-items:center;display:flex}.search-group{flex:1 1;gap:12px;min-width:300px}.search-input{background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#2c3e50;padding:10px 16px;transition:border-color .3s ease}.search-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.search-button{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px;transition:all .3s ease;white-space:nowrap}.search-button:hover{box-shadow:0 4px 12px #3498db4d;transform:translateY(-1px)}.refresh-button{white-space:nowrap}.users-table-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-radius:16px;box-shadow:0 8px 25px #00000026;margin-bottom:20px;overflow:hidden}.users-table{border-collapse:collapse;font-size:.95rem;width:100%}.users-table thead{background:linear-gradient(135deg,#34495e,#2c3e50);color:#fff}.users-table th{font-size:1rem;font-weight:600;letter-spacing:.5px;padding:16px 20px;text-align:left}.users-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s ease}.users-table tbody tr:hover{background:#3498db0d}.users-table td{padding:16px 20px;vertical-align:top}.user-info{min-width:200px}.user-identity{display:flex;flex-direction:column;gap:4px}.username{color:#2c3e50;font-size:1.1rem;font-weight:700}.email{color:#6c757d;font-size:.9rem}.user-id{color:#95a5a6;font-size:.8rem;font-weight:500}.role-badge{border-radius:20px;color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;white-space:nowrap}.role-badge.role-admin{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 2px 8px #dc35454d}.role-badge.role-moderator{background:linear-gradient(135deg,#fd7e14,#e55a00);box-shadow:0 2px 8px #fd7e144d}.role-badge.role-player{background:linear-gradient(135deg,#28a745,#1e7e34);box-shadow:0 2px 8px #28a7454d}.role-badge.role-banned{background:linear-gradient(135deg,#6c757d,#495057);box-shadow:0 2px 8px #6c757d4d}.ban-indicator{background:#dc35451a;border-left:3px solid #dc3545;border-radius:6px;color:#dc3545;font-size:.85rem;font-weight:600;margin-top:8px;padding:4px 8px}.ban-reason{color:#6c757d;font-size:.8rem;font-style:italic;margin-top:4px}.status-badge.status-online{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff}.status-badge.status-offline{background:linear-gradient(135deg,#6c757d,#495057);color:#fff}.status-badge.status-banned{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.status-badge.status-inactive{background:linear-gradient(135deg,#ffc107,#e0a800);color:#212529}.user-activity{font-size:.9rem;min-width:180px}.user-activity>div{color:#495057;margin-bottom:4px}.play-time{color:#2c3e50;font-weight:600}.user-stats{min-width:140px}.user-stats>div{color:#495057;font-size:.85rem;font-weight:500;margin-bottom:4px}.user-actions{min-width:180px}.user-actions button{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;margin:2px 4px;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.role-button{background:linear-gradient(135deg,#ffc107,#e0a800);color:#212529}.ban-button{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.unban-button{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff}.delete-button{background:linear-gradient(135deg,#6c757d,#5a6268)}.delete-button:hover{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 6px 15px #dc35454d;transform:translateY(-2px)}.user-actions button:hover{box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.pagination{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-radius:12px;box-shadow:0 4px 15px #0000001a;display:flex;gap:16px;justify-content:center;padding:20px}.page-button{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px;transition:all .3s ease}.page-button:disabled{background:#6c757d;cursor:not-allowed;transform:none}.page-button:hover:not(:disabled){box-shadow:0 4px 12px #3498db4d;transform:translateY(-1px)}.page-info{color:#2c3e50;font-size:1rem;font-weight:600}.user-context{background:#f8f9fa;border-left:4px solid #3498db;border-radius:8px;color:#495057;line-height:1.6;padding:16px}.form-group,.user-context{margin-bottom:20px}.form-group label{margin-bottom:6px}.form-group select,.form-group textarea{border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;color:#2c3e50;font-size:1rem;padding:12px 16px;transition:border-color .3s ease;width:100%}.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.ban-warning,.role-warning{background:#ffc1071a;border-left:4px solid #ffc107;border-radius:8px;color:#856404;font-size:.9rem;line-height:1.5;margin-top:16px;padding:12px 16px}.ban-warning{background:#dc35451a;border-left-color:#dc3545;color:#721c24}.delete-warning{background:#dc354526;border-left:4px solid #dc3545;border-radius:8px;color:#721c24;font-size:.95rem;line-height:1.6;margin-top:16px;padding:16px 20px}.delete-warning .warning-header{color:#dc3545;font-size:1.1rem;margin-bottom:12px}.delete-warning ul{margin:12px 0;padding-left:24px}.delete-warning li{margin-bottom:6px}.update-button{background:linear-gradient(135deg,#ffc107,#e0a800);border:none;border-radius:8px;color:#212529;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .3s ease}.update-button:disabled{background:#6c757d;color:#fff;cursor:not-allowed;transform:none}.update-button:hover:not(:disabled){box-shadow:0 6px 20px #ffc10766;transform:translateY(-1px)}.ban-confirm-button{background:linear-gradient(135deg,#dc3545,#c82333);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .3s ease}.ban-confirm-button:disabled{background:#6c757d;cursor:not-allowed;transform:none}.ban-confirm-button:hover:not(:disabled){box-shadow:0 6px 20px #dc354566;transform:translateY(-1px)}.delete-confirm-button{background:linear-gradient(135deg,#dc3545,#c82333);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .3s ease}.delete-confirm-button:hover{background:linear-gradient(135deg,#bd2130,#a71d2a);box-shadow:0 6px 20px #dc354580;transform:translateY(-1px)}.user-details{display:flex;flex-direction:column;gap:24px}.ban-details{background:#dc35451a;border-left:4px solid #dc3545;border-radius:8px;margin-top:16px;padding:12px 16px}.ban-details p{color:#721c24;line-height:1.6;margin:8px 0 0}.stat-item{border-left:4px solid #27ae60}@media (max-width:768px){.users-manager{padding:12px}.users-header{flex-direction:column;gap:16px;padding:20px;text-align:center}.user-stats-summary{align-items:center}.role-breakdown{justify-content:center}.users-filters{gap:12px}.search-group,.users-filters{align-items:stretch;flex-direction:column}.search-group{min-width:auto}.filter-group{justify-content:space-between}.users-table-container{overflow-x:auto}.users-table{min-width:1000px}.modal-content{margin:20px;width:95%}.modal-body,.modal-footer,.modal-header{padding-left:20px;padding-right:20px}.detail-grid{grid-template-columns:1fr}.user-actions{display:flex;flex-direction:column;gap:4px}.user-actions button{margin:0;width:100%}}@media (max-width:480px){.users-title h2{font-size:1.5rem}.users-title p{font-size:1rem}.users-table td,.users-table th{padding:12px 16px}.pagination{flex-direction:column;gap:12px}.page-button{width:100%}}.events-manager{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px}.events-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-left:5px solid #f39c12;border-radius:16px;box-shadow:0 8px 25px #00000026;display:flex;justify-content:space-between;margin-bottom:20px;padding:24px 30px}.events-title h2{color:#2c3e50;font-size:2rem;font-weight:700;margin:0 0 8px}.events-title p{color:#6c757d;font-size:1.1rem;margin:0}.create-event-button{background:linear-gradient(135deg,#f39c12,#e67e22);border:none;border-radius:8px;box-shadow:0 4px 15px #f39c124d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.create-event-button:hover{box-shadow:0 6px 20px #f39c1266;transform:translateY(-2px)}.events-filters{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-radius:12px;box-shadow:0 4px 15px #0000001a;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:20px 24px}.filter-group{gap:8px}.filter-group label{color:#2c3e50;font-weight:600}.filter-group select{background:#fff;border:2px solid #e9ecef;color:#2c3e50;font-size:.95rem;min-width:120px;padding:8px 12px;transition:border-color .3s ease}.filter-group select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.sort-order{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;margin-left:8px;padding:8px 12px;transition:all .3s ease}.sort-order:hover{background:#2980b9;transform:translateY(-1px)}.refresh-button{background:linear-gradient(135deg,#27ae60,#229954);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-left:auto;padding:10px 16px;transition:all .3s ease}.refresh-button:hover{box-shadow:0 4px 12px #27ae604d;transform:translateY(-1px)}.events-table-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-radius:16px;box-shadow:0 8px 25px #00000026;overflow:hidden}.events-table{border-collapse:collapse;font-size:.95rem;width:100%}.events-table thead{background:linear-gradient(135deg,#34495e,#2c3e50);color:#fff}.events-table th{font-size:1rem;font-weight:600;letter-spacing:.5px;padding:16px 20px;text-align:left}.events-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s ease}.events-table tbody tr:hover{background:#3498db0d}.events-table td{padding:16px 20px;vertical-align:top}.event-info{min-width:200px}.event-name{color:#2c3e50;font-size:1.1rem;font-weight:700;margin-bottom:4px}.event-description{color:#6c757d;font-size:.9rem;line-height:1.4;margin-bottom:8px}.event-gathering,.event-region{color:#495057;font-size:.85rem;margin-bottom:2px}.event-type-badge{box-shadow:0 2px 8px #0003;color:#fff;font-size:.85rem;font-weight:600;text-transform:uppercase}.event-type-badge,.status-badge{border-radius:20px;letter-spacing:.5px;padding:6px 12px;white-space:nowrap}.status-badge{font-size:.8rem;font-weight:700}.status-active{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff}.status-scheduled{background:linear-gradient(135deg,#17a2b8,#138496);color:#fff}.status-expired{background:linear-gradient(135deg,#6c757d,#495057);color:#fff}.status-inactive{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.status-unknown{background:linear-gradient(135deg,#ffc107,#e0a800);color:#212529}.event-schedule{font-size:.9rem;min-width:180px}.event-schedule>div{color:#495057;margin-bottom:4px}.duration{color:#2c3e50;font-weight:600}.event-bonuses{min-width:140px}.event-bonuses>div{color:#495057;font-size:.85rem;font-weight:500;margin-bottom:4px}.event-actions{min-width:160px}.event-actions button{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;margin:2px 4px;padding:6px 12px;transition:all .3s ease}.event-actions button:hover{box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.create-button{background:linear-gradient(135deg,#f39c12,#e67e22)}.create-button:hover:not(:disabled){box-shadow:0 6px 20px #f39c1266}.event-details{display:flex;flex-direction:column;gap:24px}.detail-section{border-left:4px solid #3498db}.bonuses-display{display:flex;flex-direction:column;gap:12px}.bonus-item{align-items:center;background:#fff;border-left:4px solid #27ae60;border-radius:8px;display:flex;gap:12px;padding:12px 16px}.bonus-icon{font-size:1.2rem}@media (max-width:768px){.events-manager{padding:12px}.events-header{flex-direction:column;gap:16px;padding:20px;text-align:center}.events-filters{align-items:stretch;flex-direction:column;gap:12px}.filter-group{justify-content:space-between}.events-table-container{overflow-x:auto}.events-table{min-width:800px}.modal-content{margin:20px;width:95%}.form-grid{grid-template-columns:1fr}.modal-body,.modal-footer,.modal-header{padding-left:20px;padding-right:20px}.detail-grid{grid-template-columns:1fr}.event-actions{display:flex;flex-direction:column;gap:4px}.event-actions button{margin:0;width:100%}}@media (max-width:480px){.events-title h2{font-size:1.5rem}.events-title p{font-size:1rem}.create-event-button{font-size:.9rem;padding:10px 16px}.events-table td,.events-table th{padding:12px 16px}}.content-manager{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px}.loading-spinner{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:60vh}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:20px;width:50px}.content-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-left:5px solid #e67e22;border-radius:16px;box-shadow:0 8px 25px #00000026;display:flex;justify-content:space-between;margin-bottom:20px;padding:24px 30px}.content-title h2{color:#2c3e50;font-size:2rem;font-weight:700;margin:0 0 8px}.content-title p{color:#6c757d;font-size:1.1rem;margin:0}.create-content-button{background:linear-gradient(135deg,#e67e22,#d35400);border:none;border-radius:8px;box-shadow:0 4px 15px #e67e224d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.create-content-button:hover{box-shadow:0 6px 20px #e67e2266;transform:translateY(-2px)}.error-banner{align-items:center;background:linear-gradient(135deg,#e74c3c,#c0392b);border-radius:8px;box-shadow:0 4px 15px #e74c3c4d;color:#fff;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px 20px}.error-banner button{background:none;border:none;color:#fff;cursor:pointer;font-size:1.5rem;margin-left:16px;padding:0}.content-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-radius:12px;box-shadow:0 4px 15px #0000001a;display:flex;gap:12px;margin-bottom:20px;padding:16px 24px}.tab-button{border-radius:8px;color:#6c757d;font-weight:600;padding:12px 20px;white-space:nowrap}.tab-button:hover{background:#e67e221a;color:#e67e22}.tab-button.active{background:linear-gradient(135deg,#e67e22,#d35400);box-shadow:0 4px 12px #e67e224d;color:#fff}.content-table-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-radius:16px;box-shadow:0 8px 25px #00000026;overflow:hidden}.content-table{border-collapse:collapse;font-size:.95rem;width:100%}.content-table thead{background:linear-gradient(135deg,#34495e,#2c3e50);color:#fff}.content-table th{font-size:1rem;font-weight:600;letter-spacing:.5px;padding:16px 20px;text-align:left}.content-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s ease}.content-table tbody tr:hover{background:#e67e220d}.content-table td{padding:16px 20px;vertical-align:top}.content-info{min-width:250px}.content-name{color:#2c3e50;font-size:1.1rem;font-weight:700;margin-bottom:4px}.content-description{color:#6c757d;font-size:.9rem;line-height:1.4;margin-bottom:8px}.content-icon{color:#95a5a6;font-size:.85rem}.monster-type,.recipe-details{color:#95a5a6;font-size:.85rem;font-weight:500}.ai-badge,.rarity-badge,.status-badge,.type-badge{border-radius:20px;color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;white-space:nowrap}.type-badge{background:linear-gradient(135deg,#3498db,#2980b9);box-shadow:0 2px 8px #3498db4d}.rarity-badge{box-shadow:0 2px 8px #0003}.status-badge.active{background:linear-gradient(135deg,#27ae60,#229954);box-shadow:0 2px 8px #27ae604d}.status-badge.inactive{background:linear-gradient(135deg,#6c757d,#495057);box-shadow:0 2px 8px #6c757d4d}.ai-badge{background:linear-gradient(135deg,#9b59b6,#8e44ad);box-shadow:0 2px 8px #9b59b64d}.level-cell,.success-rate-cell,.value-cell{color:#2c3e50;font-weight:600;white-space:nowrap}.monster-stats{display:flex;flex-direction:column;font-size:.9rem;gap:4px}.monster-stats>div{color:#495057;font-weight:500}.content-actions{min-width:180px}.content-actions button{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;margin:2px 4px;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.view-button{background:linear-gradient(135deg,#17a2b8,#138496);color:#fff}.toggle-button.active{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.toggle-button.inactive{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff}.delete-button{background:linear-gradient(135deg,#6c757d,#495057);color:#fff}.content-actions button:hover{box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.empty-state{color:#6c757d;padding:60px 40px}.empty-state h3{color:#495057;font-size:1.5rem;margin-bottom:12px}.empty-state p{margin-bottom:24px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;right:0}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh}.modal-content.large{max-width:800px}.modal-header{border-bottom:2px solid #e9ecef;padding:24px 30px 16px}.modal-header h3{color:#2c3e50;font-weight:700}.modal-header button{background:none;border:none;color:#6c757d;cursor:pointer;font-size:1.8rem;padding:0;transition:color .3s ease}.modal-header button:hover{color:#dc3545}.modal-body{padding:24px 30px}.modal-footer{border-top:2px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:16px 30px 24px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1/-1}.form-group label{color:#2c3e50;font-size:.95rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:2px solid #e9ecef;border-radius:8px;color:#2c3e50;font-size:1rem;padding:12px 16px;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#e67e22;box-shadow:0 0 0 3px #e67e221a;outline:none}.form-group input[type=checkbox]{margin-right:8px;width:auto}.form-group textarea{min-height:80px;resize:vertical}.cancel-button{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .3s ease}.cancel-button:hover{background:#5a6268;transform:translateY(-1px)}.create-button{background:linear-gradient(135deg,#e67e22,#d35400);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .3s ease}.create-button:disabled{background:#6c757d;cursor:not-allowed;transform:none}.create-button:hover:not(:disabled){box-shadow:0 6px 20px #e67e2266;transform:translateY(-1px)}.close-button{background:linear-gradient(135deg,#3498db,#2980b9);border-radius:8px;color:#fff;font-weight:600;padding:12px 20px;transition:all .3s ease}.close-button:hover{box-shadow:0 6px 20px #3498db66;transform:translateY(-1px)}.item-details{display:flex;flex-direction:column;gap:24px}.detail-section{background:#f8f9fa;border-left:4px solid #e67e22;border-radius:12px;padding:20px}.detail-section h4{color:#2c3e50;font-size:1.2rem;font-weight:700;margin:0 0 16px}.detail-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-grid>div{color:#495057;line-height:1.5}.detail-grid strong{color:#2c3e50}.description p{color:#6c757d;line-height:1.6;margin:8px 0 0}.ingredients-list{display:flex;flex-direction:column;gap:12px}.ingredient-item{align-items:center;background:#fff;border-left:4px solid #27ae60;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.ingredient-name{color:#2c3e50;font-weight:600}.ingredient-quantity{background:#27ae601a;border-radius:12px;color:#27ae60;padding:4px 8px}.ingredient-quantity,.ingredient-rarity{font-size:.9rem;font-weight:600}.stats-display{display:flex;flex-direction:column;gap:12px;margin-top:16px}.stat-item{background:#fff;border-left:4px solid #e74c3c;border-radius:8px;gap:12px;padding:12px 16px}.stat-icon{font-size:1.2rem}.drop-table{display:flex;flex-direction:column;gap:12px}.drop-item{align-items:center;background:#fff;border-left:4px solid #f39c12;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.drop-material{color:#2c3e50;flex:1 1;font-weight:600}.drop-rate{background:#f39c121a;border-radius:12px;color:#f39c12;font-size:.9rem;font-weight:600;margin:0 8px;padding:4px 8px}.drop-quantity{color:#6c757d;font-size:.9rem;font-weight:500}@media (max-width:768px){.content-manager{padding:12px}.content-header{flex-direction:column;gap:16px;padding:20px;text-align:center}.content-tabs{flex-direction:column;gap:8px}.tab-button{text-align:center;width:100%}.content-table-container{overflow-x:auto}.content-table{min-width:800px}.modal-content{margin:20px;width:95%}.form-grid{grid-template-columns:1fr}.modal-body,.modal-footer,.modal-header{padding-left:20px;padding-right:20px}.detail-grid{grid-template-columns:1fr}.content-actions{display:flex;flex-direction:column;gap:4px}.content-actions button{margin:0;width:100%}.drop-item,.ingredient-item{align-items:flex-start;flex-direction:column;gap:8px}.drop-rate{margin:0}}@media (max-width:480px){.content-title h2{font-size:1.5rem}.content-title p{font-size:1rem}.create-content-button{font-size:.9rem;padding:10px 16px}.content-table td,.content-table th{padding:12px 16px}.drop-table,.ingredients-list,.stats-display{gap:8px}}.admin-dashboard{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.admin-loading{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{border:4px solid #ffffff4d;border-top-color:#fff;margin-bottom:20px}.admin-error{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:40px;text-align:center}.admin-error h2{font-size:2.5rem;margin-bottom:20px}.admin-error p{font-size:1.2rem;margin-bottom:10px;opacity:.9}.admin-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-bottom:4px solid #3498db;box-shadow:0 4px 20px #00000026;display:flex;justify-content:space-between;padding:20px 30px}.admin-title h1{color:#2c3e50;font-size:2rem;font-weight:700;margin:0}.admin-user-info{align-items:center;display:flex;gap:12px;margin-top:8px}.admin-role{background:linear-gradient(135deg,#e74c3c,#c0392b);border-radius:20px;box-shadow:0 2px 8px #e74c3c4d;color:#fff;font-size:.85rem;font-weight:700;letter-spacing:.5px;padding:6px 14px;text-transform:uppercase}.admin-username{color:#2c3e50;font-size:1rem;font-weight:600}.system-health{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.health-status{align-items:center;display:flex;font-weight:600;gap:8px}.health-indicator{animation:pulse 2s infinite;border-radius:50%;height:10px;width:10px}.system-health.healthy .health-indicator{background:#28a745}.system-health.unhealthy .health-indicator{background:#dc3545}.health-details{color:#2c3e50;display:flex;font-size:.85rem;font-weight:500;gap:16px}.admin-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 10px #00000026;display:flex;gap:4px;padding:0 30px}.nav-button{background:none;border:none;border-bottom:3px solid #0000;color:#34495e;cursor:pointer;font-size:1rem;font-weight:600;padding:16px 20px;position:relative;transition:all .3s ease}.nav-button:hover{background:#3498db26;color:#2c3e50}.nav-button.active{background:#3498db26;border-bottom-color:#3498db;color:#3498db}.admin-content{margin:0 auto;max-width:1400px;padding:30px}.dashboard-overview{display:flex;flex-direction:column;gap:30px}.stats-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.stat-card{background:#fff;border-left:5px solid #0000;border-radius:16px;box-shadow:0 8px 25px #0000001a;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{box-shadow:0 12px 35px #00000026;transform:translateY(-4px)}.overview-card{border-left-color:#667eea}.activity-card{border-left-color:#28a745}.content-card{border-left-color:#fd7e14}.roles-card{border-left-color:#6f42c1}.stat-card h3{color:#2c3e50;font-size:1.3rem;font-weight:700;margin:0 0 20px}.stat-items{display:flex;flex-direction:column;gap:12px}.stat-item{align-items:center;justify-content:space-between;padding:8px 0}.stat-label{color:#34495e;font-weight:600}.stat-value{color:#2c3e50;font-size:1.2rem}.stat-value.active{background:#28a7451a;border-radius:6px;color:#28a745;padding:4px 8px}.roles-breakdown{display:flex;flex-direction:column;gap:12px}.role-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.role-label{border-radius:20px;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.role-label.admin{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.role-label.moderator{background:linear-gradient(135deg,#fd7e14,#e55a00);color:#fff}.role-label.player{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff}.role-label.banned{background:linear-gradient(135deg,#6c757d,#495057);color:#fff}.role-count{color:#2c3e50;font-size:1.2rem;font-weight:700}.server-info{background:#fff;border-radius:16px;box-shadow:0 8px 25px #0000001a;padding:24px}.server-info h3{color:#2c3e50;font-size:1.3rem;font-weight:700;margin:0 0 20px}.server-details{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.server-item{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.server-item span:first-child{color:#6c757d;font-weight:500}.server-item span:last-child{color:#2c3e50;font-weight:600}.admin-section{background:#fff;border-radius:16px;box-shadow:0 8px 25px #0000001a;padding:30px}.admin-section h2{color:#2c3e50;font-size:2rem;font-weight:700;margin:0 0 16px}.admin-section p{color:#6c757d;font-size:1.1rem;margin-bottom:24px}.placeholder-content{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #dee2e6;border-radius:12px;padding:40px;text-align:center}.feature-preview h3{color:#495057;font-size:1.4rem;margin-bottom:20px}.feature-preview ul{list-style:none;margin:0 auto;max-width:500px;padding:0}.feature-preview li{background:#fff;border-left:4px solid #667eea;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#495057;font-weight:500;margin:8px 0;padding:12px 16px}@media (max-width:768px){.admin-header{flex-direction:column;gap:16px;padding:20px;text-align:center}.admin-nav{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:0 20px}.nav-button{font-size:.9rem;padding:12px 16px;white-space:nowrap}.admin-content{padding:20px}.stats-grid{gap:16px;grid-template-columns:1fr}.stat-card{padding:20px}.server-details{grid-template-columns:1fr}.health-details{align-items:flex-end;flex-direction:column;gap:4px}.admin-section,.placeholder-content{padding:20px}.admin-title h1{font-size:1.6rem}.admin-user-info{justify-content:center}}.admin-actions{background:#ffffff0d;border-radius:10px;margin-top:20px;padding:25px}.admin-actions h3{font-size:1.4rem;margin-bottom:15px;margin-top:0}.action-buttons{display:flex;flex-direction:column;gap:15px;margin-bottom:15px}.admin-action-button{background:linear-gradient(135deg,#9b59b6,#8e44ad);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:15px 30px;transition:all .3s ease;width:-webkit-fit-content;width:fit-content}.admin-action-button:hover:not(:disabled){background:linear-gradient(135deg,#8e44ad,#7d3c98);box-shadow:0 5px 15px #8e44ad66;transform:translateY(-2px)}.admin-action-button:disabled{cursor:not-allowed;opacity:.6}.seed-message{animation:slideIn .3s ease;border-radius:8px;font-weight:500;padding:12px 20px}.seed-message.success{background:#2ecc7133;border:1px solid #2ecc71;color:#2ecc71}.seed-message.error{background:#e74c3c33;border:1px solid #e74c3c;color:#e74c3c}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.action-description{color:#ffffffb3;font-size:.95rem;line-height:1.5;margin:0}.help-overlay{align-items:center;animation:fadeIn .3s ease-out;background-color:#000000e6;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.help-content{animation:slideUp .3s ease-out;background-color:#16213e;border-radius:16px;box-shadow:0 10px 40px #00000080;max-height:90vh;max-width:800px;overflow-y:auto;width:90%}.help-header{align-items:center;background:linear-gradient(135deg,#e94560,#d63651);border-bottom:2px solid #0f3460;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.help-header h2{color:#fff;font-size:1.8rem;margin:0}.close-help-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:2.5rem;line-height:1;padding:0;transition:transform .2s;width:auto}.close-help-btn:hover{transform:scale(1.1)}.help-body{color:#eee;padding:2rem}.help-section{margin-bottom:2rem}.help-section:last-child{margin-bottom:0}.help-section h3{border-bottom:2px solid #0f3460;color:#e94560;font-size:1.4rem;margin:0 0 1rem;padding-bottom:.5rem}.help-section ul{list-style:none;margin:0;padding:0}.help-section li{line-height:1.6;padding:.75rem 0 .75rem 1.5rem;position:relative}.help-section li:before{color:#e94560;content:"▸";font-weight:700;left:0;position:absolute}.help-section strong{color:#4caf50}.help-footer{background-color:#1a1a2e;border-radius:0 0 16px 16px;border-top:2px solid #0f3460;display:flex;justify-content:center;padding:1.5rem 2rem}.got-it-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;box-shadow:0 4px 12px #4caf504d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:.75rem 2rem;transition:all .3s ease}.got-it-btn:hover{box-shadow:0 6px 16px #4caf5066;transform:translateY(-2px)}.help-content::-webkit-scrollbar{width:10px}.help-content::-webkit-scrollbar-track{background:#0f3460;border-radius:0 16px 16px 0}.help-content::-webkit-scrollbar-thumb{background:#e94560;border-radius:5px}.help-content::-webkit-scrollbar-thumb:hover{background:#d63651}@media (max-width:768px){.help-content{max-height:95vh;width:95%}.help-header{padding:1rem 1.5rem}.help-header h2{font-size:1.4rem}.help-body{padding:1.5rem}.help-section h3{font-size:1.2rem}.help-section li{font-size:.95rem}}.tutorial-library-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#000000d9;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:10000}.tutorial-library-modal{animation:slideUp .3s ease;background:linear-gradient(135deg,#16213e,#1a1a2e);border:2px solid #4caf50;border-radius:12px;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.tutorial-library-header{align-items:center;border-bottom:2px solid #4caf504d;display:flex;justify-content:space-between;padding:1.5rem}.tutorial-library-header h2{color:#4caf50;font-size:1.8rem;margin:0}.close-button{align-items:center;color:#888;display:flex;font-size:2rem;height:40px;justify-content:center;transition:color .2s;width:40px}.close-button:hover{color:#f44}.tutorial-stats{align-items:center;background-color:#4caf501a;border-bottom:1px solid #4caf5033;display:flex;flex-wrap:wrap;gap:2rem;padding:1rem 1.5rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{color:#888;font-size:.85rem}.stat-value{color:#4caf50;font-size:1.5rem}.progress-bar-container{background-color:#ffffff1a;border-radius:4px;flex:1 1;height:8px;min-width:200px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#4caf50,#81c784);border-radius:4px;height:100%;transition:width .3s ease}.tutorial-filters{align-items:center;border-bottom:1px solid #4caf5033;display:flex;flex-wrap:wrap;gap:1rem;padding:1rem 1.5rem}.search-input{background-color:#ffffff0d;border:1px solid #4caf504d;border-radius:6px;color:#e0e0e0;flex:1 1;font-size:1rem;min-width:250px;padding:.5rem 1rem}.search-input:focus{background-color:#ffffff14;border-color:#4caf50;outline:none}.filter-group{align-items:center;display:flex;gap:.5rem}.filter-group label{color:#888;font-size:.9rem;white-space:nowrap}.filter-group select{background-color:#ffffff0d;border:1px solid #4caf504d;border-radius:6px;color:#e0e0e0;cursor:pointer;font-size:.9rem;padding:.4rem .8rem}.filter-group select:focus{border-color:#4caf50;outline:none}.tutorial-list{display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1.5rem}.no-tutorials{color:#888;padding:3rem;text-align:center}.tutorial-card{background-color:#ffffff08;border:1px solid #4caf5033;border-radius:8px;padding:1.25rem;transition:all .2s}.tutorial-card:hover{background-color:#ffffff0f;border-color:#4caf5066;transform:translateY(-2px)}.tutorial-card.completed{background-color:#4caf5014;border-color:#4caf5099}.tutorial-card-header{margin-bottom:.75rem}.tutorial-title-row{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.tutorial-icon{font-size:1.5rem}.tutorial-title-row h3{color:#e0e0e0;flex:1 1;font-size:1.1rem;margin:0}.status-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.status-badge.not-started{background-color:#8883;color:#aaa}.status-badge.in-progress{background-color:#ff980033;color:#ff9800}.status-badge.completed{background-color:#4caf5033;color:#4caf50}.status-badge.skipped{background-color:#f4433633;color:#f44336}.tutorial-meta{display:flex;flex-wrap:wrap;gap:.75rem}.category-badge,.duration-badge,.priority-badge{background-color:#ffffff0d;border-radius:4px;font-size:.75rem;padding:.25rem .5rem}.category-badge{border:1px solid #81c7844d;color:#81c784}.duration-badge{border:1px solid #64b5f64d;color:#64b5f6}.tutorial-description{color:#aaa;font-size:.95rem;line-height:1.5;margin:.75rem 0}.tutorial-card-footer{align-items:center;border-top:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem}.tutorial-info{color:#888;display:flex;font-size:.85rem;gap:1rem}.start-tutorial-btn{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.25rem;transition:all .2s}.start-tutorial-btn:hover{background:linear-gradient(135deg,#66bb6a,#81c784);box-shadow:0 4px 12px #4caf5066;transform:translateY(-1px)}@media (max-width:768px){.tutorial-library-modal{max-height:95vh;width:95%}.tutorial-stats{align-items:flex-start;flex-direction:column;gap:.5rem}.tutorial-filters{align-items:stretch;flex-direction:column}.filter-group,.search-input{width:100%}}.quest-progress-panel{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;margin:20px 0;padding:20px}.quest-progress-panel h3{font-size:1.4em;margin:0 0 15px;text-align:center;text-shadow:2px 2px 4px #0000004d}.progress-items{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.progress-item{align-items:center;background:#ffffff1a;border-radius:8px;display:flex;padding:10px 15px;transition:background .3s ease}.progress-item:hover{background:#fff3}.progress-icon{font-size:1.5em;margin-right:10px}.progress-label{flex:1 1;font-weight:500}.progress-value{background:#fff3;border-radius:20px;font-size:1.3em;font-weight:700;min-width:50px;padding:5px 15px;text-align:center}.progress-note{font-size:.85em;font-style:italic;margin:10px 0 0;opacity:.9;text-align:center}@media (max-width:768px){.quest-progress-panel{margin:15px 0;padding:15px}.progress-item{padding:8px 12px}.progress-icon{font-size:1.3em}.progress-value{font-size:1.1em;padding:4px 12px}}.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{background-color:#000000b3;height:100%;left:0;pointer-events:auto;position:absolute;top:0;width:100%}.tutorial-spotlight{animation:tutorial-pulse 2s ease-in-out infinite;border:3px solid #4caf50;border-radius:8px;box-shadow:0 0 0 9999px #000000b3,0 0 20px #4caf5099,inset 0 0 15px #4caf504d;pointer-events:none;position:absolute;transition:all .3s ease;z-index:10000}@keyframes tutorial-pulse{0%,to{box-shadow:0 0 0 9999px #000000b3,0 0 20px #4caf5099,inset 0 0 15px #4caf504d}50%{box-shadow:0 0 0 9999px #000000b3,0 0 30px #4caf50cc,inset 0 0 20px #4caf5080}}.tutorial-content-modal{animation:tutorial-modal-enter .3s ease-out;background:linear-gradient(135deg,#16213e,#1a1a2e);border:2px solid #4caf50;border-radius:12px;box-shadow:0 8px 32px #00000080,0 0 20px #4caf504d;max-width:500px;min-width:400px;padding:1.5rem;pointer-events:auto;position:absolute;z-index:10001}@keyframes tutorial-modal-enter{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.tutorial-modal-header{align-items:center;border-bottom:1px solid #4caf504d;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.tutorial-modal-title{color:#4caf50;font-size:1.25rem;font-weight:700;margin:0}.tutorial-modal-close{align-items:center;background:none;border:none;color:#888;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;padding:0;transition:color .2s;width:24px}.tutorial-modal-close:hover{color:#f44}.tutorial-modal-content{color:#e0e0e0;font-size:1rem;line-height:1.6;margin-bottom:1rem}.tutorial-interaction-hint{background-color:#4caf5033;border-left:3px solid #4caf50;border-radius:4px;color:#9ccc65;font-size:.9rem;font-style:italic;margin-bottom:1rem;padding:.75rem}.tutorial-progress{align-items:center;background-color:#ffffff0d;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.5rem}.tutorial-progress-text{color:#888;font-size:.85rem}.tutorial-progress-bar{background-color:#ffffff1a;border-radius:2px;flex:1 1;height:4px;margin:0 .75rem;overflow:hidden}.tutorial-progress-fill{background:linear-gradient(90deg,#4caf50,#81c784);border-radius:2px;height:100%;transition:width .3s ease}.tutorial-modal-footer{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.tutorial-btn{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.4rem .6rem;text-transform:uppercase;transition:all .2s;white-space:nowrap}.tutorial-btn-primary{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.tutorial-btn-primary:hover{background:linear-gradient(135deg,#66bb6a,#81c784);box-shadow:0 4px 12px #4caf5066;transform:translateY(-1px)}.tutorial-btn-primary:active{transform:translateY(0)}.tutorial-btn-secondary{background-color:#ffffff1a;color:#e0e0e0}.tutorial-btn-secondary:hover{background-color:#ffffff26}.tutorial-btn-skip{background-color:#f443;border:1px solid #ff44444d;color:#fff}.tutorial-btn-skip:hover{background-color:#ff44444d;border-color:#ff444480;color:#fff}.tutorial-btn:disabled{cursor:not-allowed;opacity:.5}.tutorial-btn:disabled:hover{box-shadow:none;transform:none}.tutorial-modal-top{transform:translateY(-100%) translateY(-20px)}.tutorial-modal-bottom{transform:translateY(20px)}.tutorial-modal-left{transform:translateX(-100%) translateX(-20px)}.tutorial-modal-right{transform:translateX(20px)}.tutorial-modal-center{left:50%!important;top:50%!important;transform:translate(-50%,-50%)}.tutorial-step-dots{display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.tutorial-step-dot{background-color:#fff3;border-radius:50%;height:8px;transition:all .3s;width:8px}.tutorial-step-dot.active{background-color:#4caf50;transform:scale(1.3)}.tutorial-step-dot.completed{background-color:#4caf5080}@media (max-width:768px){.tutorial-content-modal{max-width:90vw;min-width:280px;padding:1rem}.tutorial-modal-title{font-size:1.1rem}.tutorial-modal-content{font-size:.95rem}.tutorial-btn{font-size:.85rem;padding:.4rem .8rem}}@media (prefers-contrast:high){.tutorial-spotlight{border-width:4px}.tutorial-content-modal{border-width:3px}.tutorial-btn-primary{border:2px solid #4caf50}}@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-color:#16213e;box-shadow:0 2px 4px #0000004d;display:flex;justify-content:space-between;padding:1rem 2rem}.home-header h1{color:#e94560;margin:0}.user-info{gap:1rem}.help-button,.user-info{align-items:center;display:flex}.help-button{background:linear-gradient(135deg,#4caf50,#45a049);border:2px solid #45a049;border-radius:50%;color:#fff;cursor:pointer;font-size:1.3rem;font-weight:700;height:35px;justify-content:center;padding:0;transition:all .3s ease;width:35px}.help-button:hover{box-shadow:0 4px 12px #4caf5066;transform:scale(1.1)}.tutorial-test-button{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:2px solid #45a049;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.3rem;height:35px;justify-content:center;margin-right:8px;padding:0;transition:all .3s ease;width:50px}.tutorial-test-button:hover{box-shadow:0 4px 12px #4caf5066;transform:scale(1.1)}.logout-button{background-color:#0f3460;font-size:.9rem;padding:.5rem 1rem;width:auto}.logout-button:hover{background-color:#1a4a73}.main-nav{background-color:#0f3460;display:flex;gap:1rem;justify-content:center;padding:1rem}.nav-button{background-color:#16213e;font-size:1.1rem;font-weight:500;padding:1rem 2rem;width:auto}.nav-button:hover{background-color:#1a2746}.nav-button.active{background-color:#e94560}.nav-button.active:hover{background-color:#d63651}.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)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.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;gap:.5rem;justify-content:flex-end}.character-actions button{font-size:.9rem;padding:.5rem 1rem;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{display:flex;flex-direction:column;height:100vh;padding:1rem}.battle-header{align-items:center;border-bottom:2px solid #0f3460;display:flex;justify-content:space-between;margin-bottom:.25rem;padding-bottom:.5rem}.battle-header h2{color:#e94560;margin:0}.exit-battle-btn{background-color:#dc3545;font-size:.9rem;padding:.5rem 1rem;width:auto}.exit-battle-btn:hover{background-color:#c82333}.battle-main{display:flex;flex:1 1;gap:1rem;margin-top:0;overflow:hidden;padding-top:0}.battle-grid-container{background:#0a1929;border:2px solid #1e3a5f;border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;flex:1 1;flex-direction:column;min-height:0}.grid-zoom-controls{background:#16213ef2;border:2px solid #1e3a5f;border-radius:8px;box-shadow:0 4px 12px #0006;gap:6px;padding:8px 12px;position:absolute;right:10px;top:10px;z-index:100}.grid-zoom-controls,.zoom-btn{align-items:center;display:flex}.zoom-btn{background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px}.zoom-btn:hover{background:linear-gradient(135deg,#42a5f5,#2196f3);box-shadow:0 4px 8px #2196f366;transform:translateY(-2px)}.zoom-btn:active{transform:translateY(0)}.zoom-btn.reset{background:linear-gradient(135deg,#ff9800,#f57c00);font-size:20px}.zoom-btn.reset:hover{background:linear-gradient(135deg,#ffb74d,#ff9800)}.zoom-level{color:#4fc3f7;font-size:14px;font-weight:700;min-width:45px;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-color:#16213e;border:1px solid #0f3460;border-radius:8px;flex-shrink:0;margin-bottom:1rem;padding:1rem}.battle-info p{color:#eee;margin:.5rem 0}.battle-info strong{color:#e94560}.battle-grid{background-color:#16213e;border:2px solid #0f3460;border-radius:8px;display:flex;flex:1 1;flex-direction:column;max-height:calc(100vh - 300px);max-width:100%;overflow:auto}.grid-row,.grid-tile{display:flex}.grid-tile{align-items:center;border:1px solid #333;cursor:pointer;height:80px;justify-content:center;position:relative;transition:all .2s ease;width:80px}.grid-tile:hover{border-color:#e94560;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}.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:4px;display:flex;flex-direction:column;height:100%;justify-content:center;margin:2px;text-align:center;width:100%}.player-unit{background-color:#4caf50cc;color:#fff}.enemy-unit{background-color:#f44336cc;color:#fff}.unit-name{font-size:8px;font-weight:700;line-height:1;margin-bottom:2px}.unit-hp{background-color:#0009;border-radius:2px;font-size:7px;padding:1px 2px}.unit-status-icons{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;margin-top:2px;position:relative;z-index:1}.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%;object-fit:cover;object-position:center;opacity:.8;transition:opacity .2s ease;width:100%}.unit:hover .monster-image{opacity:1}.unit .unit-hp,.unit .unit-name{background-color:#000000b3;border-radius:2px;padding:1px 2px;position:relative;z-index:1}.battle-sidebar{display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 40px);overflow-y:auto;width:350px}.battle-sidebar-header{background-color:#16213e;border:1px solid #0f3460;border-radius:8px;padding:.75rem;text-align:center}.battle-sidebar-header h4{color:#e94560;font-size:.95rem;font-weight:600;margin:0}.debug-controls-box{gap:.75rem;margin-top:1rem}.battle-log,.debug-controls-box{background-color:#16213e;border:1px solid #0f3460;border-radius:8px;display:flex;flex-direction:column;padding:1rem}.battle-log{height:200px}.battle-log-bottom{background-color:#16213e;border:1px solid #0f3460;border-radius:8px;display:flex;flex-direction:column;height:250px;margin-top:1rem;padding:1rem}.battle-log h3,.battle-log-bottom h3{color:#e94560;font-size:1.1rem;margin:0 0 1rem}.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:wrap;gap:.5rem}.filter-btn{background-color:#0f3460;border:1px solid #0f3460;border-radius:6px;color:#ccc;cursor:pointer;font-size:.75rem;font-weight:500;padding:.4rem .8rem;transition:all .2s ease;white-space:nowrap;width:auto}.filter-btn:hover{background-color:#1a4a73;border-color:#1a4a73;color:#eee}.filter-btn.active{background-color:#e94560;border-color:#e94560;box-shadow:0 2px 8px #e9456066;color:#fff}.log-content{background-color:#1a1a2e;border:1px solid #0f3460;border-radius:6px;flex:1 1;font-family:Courier New,monospace;font-size:.8rem;line-height:1.4;overflow-y:auto;padding:.75rem}.log-entry{color:#eee;margin-bottom:.5rem;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:6px}.log-content::-webkit-scrollbar-track{background:#0f3460;border-radius:3px}.log-content::-webkit-scrollbar-thumb{background:#e94560;border-radius:3px}.log-content::-webkit-scrollbar-thumb:hover{background:#d63651}.turn-order{background-color:#16213e;border:1px solid #0f3460;border-radius:8px;padding:1rem}.turn-order h3{color:#e94560;margin:0 0 1rem}.turn-list{display:flex;flex-direction:column;gap:.5rem}.turn-item{align-items:center;background-color:#1a1a2e;border:1px solid #0f3460;border-radius:4px;display:flex;justify-content:space-between;padding:.5rem}.turn-item.current-turn{background-color:#4caf501a;border-color:#4caf50}.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-color:#16213e;border:1px solid #0f3460;border-radius:8px;box-shadow:0 2px 8px #0000004d;margin-bottom:1rem;padding:1rem}.turn-order-horizontal h3{color:#e94560;font-size:1.2rem;margin:0 0 1rem;text-align:center}.turn-order-section{align-items:center;background:linear-gradient(135deg,#16213e,#0f3460);border:2px solid #1e3a5f;border-radius:8px;display:flex;gap:1rem;margin-top:16px;padding:.75rem}.turn-order-label{color:#e94560;flex-shrink:0;font-size:1.1rem;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:#e94560;font-size:1.2rem;margin:0}.turn-timer{align-items:center;background-color:#1a1a2e;border:2px solid #4caf50;border-radius:8px;display:flex;flex-shrink:0;font-weight:700;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease;white-space:nowrap}.turn-timer.timer-warning{animation:pulse 1s ease-in-out infinite;background-color:#2a1a1e;border-color:#f44336}.timer-icon{font-size:1.2rem}.timer-text{color:#fff;font-size:1.1rem;min-width:40px;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:wrap;gap:.75rem;justify-content:flex-start;overflow-x:auto}.turn-item-horizontal{background-color:#1a1a2e;border:2px solid #0f3460;border-radius:8px;box-shadow:0 2px 4px #0003;display:flex;flex-direction:column;max-width:140px;min-width:120px;padding:.75rem;transition:all .3s ease}.turn-item-horizontal.current-turn{background-color:#4caf5026;border-color:#4caf50;box-shadow:0 4px 12px #4caf504d;transform:scale(1.05)}.turn-item-horizontal.clickable{cursor:pointer}.turn-item-horizontal.player-unit.clickable:hover{background-color:#4caf5040;border-color:#66bb6a;box-shadow:0 6px 16px #4caf5066;transform:scale(1.08)}.turn-item-horizontal.enemy-unit.clickable:hover{background-color:#f4433640;border-color:#ef5350;box-shadow:0 6px 16px #f4433666;transform:scale(1.08)}.turn-item-horizontal.clickable:active{transform:scale(1.03)}.turn-item-horizontal.player-unit{background:linear-gradient(135deg,#2196f326,#2196f30d);border-left:4px solid #2196f3}.turn-item-horizontal.enemy-unit{background:linear-gradient(135deg,#f4433626,#f443360d);border-left:4px solid #f44336}.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 #0f3460;display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.25rem}.turn-name-horizontal{color:#eee;flex:1 1;font-size:.9rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.turn-initiative-horizontal{background-color:#0f3460;border-radius:3px;color:#aaa;font-size:.7rem;margin-left:.25rem;padding:2px 4px}.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-color:#0f1419;border:1px solid #0f3460;border-radius:4px;flex:1 1;height:8px;overflow:hidden;position:relative}.stat-bar-fill{border-radius:3px;height:100%;transition:width .3s ease}.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-color:#16213e;border:1px solid #0f3460;border-radius:8px;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:#e94560;margin:0 0 .75rem}.unit-info h4{color:#e94560;margin:0 0 .25rem}.unit-info p{color:#eee;font-size:.9rem;margin:.1rem 0}.unit-info strong{color:#e94560}.unit-stats{margin:.5rem 0}.stat-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.stat-row>span{color:#e94560;font-size:.8rem;font-weight:700;min-width:40px}.stat-bar{background-color:#1a1a2e;border:1px solid #0f3460;border-radius:8px;flex:1 1;height:16px;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-color:#16213e;border:1px solid #0f3460;border-radius:8px;padding:1rem}.battle-actions h3{color:#e94560;margin:0 0 1rem}.action-btn{background-color:#0f3460;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-bottom:.5rem;padding:.75rem;transition:background-color .2s;width:100%}.action-btn:hover:not(:disabled){background-color:#1a4a73}.action-btn:disabled{background-color:#666;cursor:not-allowed;opacity:.5}.move-btn{background:linear-gradient(135deg,#4caf50,#45a049)!important;box-shadow:0 4px 12px #4caf504d!important}.move-btn:hover:not(:disabled){background:linear-gradient(135deg,#5fc962,#4caf50)!important;box-shadow:0 6px 20px #4caf5080!important}.cancel-btn{background-color:#f44336}.cancel-btn:hover{background-color:#d32f2f}.end-turn-btn{background:linear-gradient(135deg,#ff9800,#f57c00)!important;box-shadow:0 4px 12px #ff98004d!important}.end-turn-btn:hover{background:linear-gradient(135deg,#ffa726,#ff9800)!important;box-shadow:0 6px 20px #ff980080!important}.movement-hint{color:#4caf50}.attack-hint,.movement-hint{font-size:.8rem;font-style:italic;margin:.5rem 0;text-align:center}.attack-hint{color:#f44336}.attack-btn{background:linear-gradient(135deg,#f44336,#d32f2f)!important;box-shadow:0 4px 12px #f443364d!important}.attack-btn:hover:not(:disabled){background:linear-gradient(135deg,#ff5747,#f44336)!important;box-shadow:0 6px 20px #f4433680!important}.action-error{background-color:#2d1b1b;border:1px solid #ff6b6b;border-radius:4px;color:#ff6b6b;font-size:.9rem;margin-top:1rem;padding:.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-color:#e94560;margin-top:1rem;padding:.75rem 1.5rem;width:auto}.battle-error button:hover{background-color:#d63651}.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:linear-gradient(135deg,#16213e,#0f3460);border:2px solid #1e3a5f;border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;gap:8px;margin:16px 0;padding:12px}.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:#f44336e6;border-radius:4px;color:#fff;content:"Not this unit's turn - View only";font-size:12px;font-weight:700;left:50%;padding:4px 12px;position:absolute;top:-25px;transform:translateX(-50%);white-space:nowrap}.action-slot{align-items:center;background:linear-gradient(135deg,#2196f31a,#7b1fa21a);border:2px solid #4fc3f74d;border-radius:8px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:4px;max-width:100px;min-width:80px;padding:8px 6px;position:relative;transition:all .2s ease}.action-slot:hover:not(.unavailable):not(.empty){background:linear-gradient(135deg,#2196f340,#7b1fa240);border-color:#4fc3f7;box-shadow:0 6px 16px #4fc3f766;transform:translateY(-3px)}.action-slot.active{background:linear-gradient(135deg,#4caf504d,#388e3c4d);border-color:#66bb6a;box-shadow:0 0 16px #4caf5099}.action-slot.unavailable{cursor:not-allowed;filter:grayscale(70%);opacity:.4}.action-slot.empty{background:#ffffff0d;border-color:#fff3;border-style:dashed;cursor:default}.action-slot-number{background:#000000b3;border-radius:4px;color:gold;font-size:11px;font-weight:700;left:6px;min-width:20px;padding:2px 6px;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:#e0e0e0;display:flex;flex-direction:column;font-size:11px;font-weight:700;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:#bb86fc;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-color:#0f3460cc;border-radius:4px;bottom:10px;color:#ccc;font-size:.8rem;padding:5px 10px;position:fixed;right:10px}.home-dashboard{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1200px;padding:2rem}.welcome-section h2{color:#e94560;margin-bottom:1rem;text-align:center}.welcome-section p{color:#ccc;font-size:1.1rem;margin-bottom:2rem;text-align:center}.quick-actions{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.action-card{background:linear-gradient(135deg,#16213e,#1a2746);border:3px solid #0f3460;border-radius:16px;cursor:pointer;overflow:hidden;padding:2rem;position:relative;text-align:center;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.action-card:before{background:linear-gradient(45deg,#0000 30%,#e945601a 50%,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;transform:rotate(45deg);transition:all .6s ease;width:200%}.action-card:hover:before{left:100%}.action-card:hover{border-color:#e94560;box-shadow:0 12px 35px #e9456066;transform:translateY(-8px) scale(1.02)}.action-card-characters:hover{border-color:#4caf50;box-shadow:0 12px 35px #4caf5066}.action-card-worldmap:hover{border-color:#2196f3;box-shadow:0 12px 35px #2196f366}.action-card-crafting:hover{border-color:#ff9800;box-shadow:0 12px 35px #ff980066}.action-card-achievements:hover{border-color:gold;box-shadow:0 12px 35px #ffd70066}.card-icon{animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));font-size:3.5rem;margin-bottom:1rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.action-card h3{color:#e94560;font-size:1.5rem;font-weight:700;letter-spacing:1px;margin-bottom:.75rem;text-transform:uppercase}.action-card p{color:#ccc;font-size:1rem;line-height:1.5;margin:0 0 1rem}.card-hint{color:#e94560;font-size:.9rem;font-weight:600;opacity:0;transform:translateX(-10px);transition:all .3s ease}.action-card:hover .card-hint{opacity:1;transform:translateX(0)}.recent-activity{background-color:#16213e;border:1px solid #0f3460;border-radius:12px;padding:1.5rem}.recent-activity h3{color:#e94560;margin-bottom:1rem;text-align:center}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{align-items:flex-start;background-color:#1a1a2e;border-left:4px solid #e94560;border-radius:8px;display:flex;gap:1rem;padding:1rem}.activity-icon{flex-shrink:0;font-size:1.5rem}.activity-text p{color:#eee;font-weight:500;margin:0 0 .25rem}.activity-text small{color:#999;font-size:.85rem}@media (max-width:768px){.home-dashboard{padding:1rem}.quick-actions{grid-template-columns:1fr}.activity-item{flex-direction:column;gap:.5rem;text-align:center}}.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 .5s ease-out;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:12px;box-shadow:0 4px 12px #4caf504d;color:#fff;margin-bottom:2rem;padding:1.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.welcome-banner h2{font-size:1.5rem;margin:0 0 .5rem}.welcome-banner p{font-size:1rem;line-height:1.5;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 #0f3460;border-radius:50%;border-top-color:#e94560;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}.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.111a18d9.css.map*/