@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&display=swap";body{background-color:#000;overflow:hidden;margin:0;padding:0}#root{text-align:center}.game-container{margin:0 auto}.game-board-wrapper{width:100%;height:100vh;position:relative;display:flex;overflow:hidden}.game-sidebar{width:360px;flex-shrink:0;padding:16px;background-color:#111;border-right:2px solid #333;overflow-y:auto;overflow-x:hidden;height:100%;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s}.game-sidebar:hover{scrollbar-color:#0f0 #000}.game-sidebar::-webkit-scrollbar{width:8px}.game-sidebar::-webkit-scrollbar-track{background:transparent;transition:background .3s}.game-sidebar:hover::-webkit-scrollbar-track{background:#000}.game-sidebar::-webkit-scrollbar-thumb{background-color:transparent;border-radius:4px;border:2px solid transparent;transition:background-color .3s,border-color .3s}.game-sidebar:hover::-webkit-scrollbar-thumb{background-color:#0f0;border-color:#000}.game-board-inner-wrapper{flex:1 0 auto;height:100%;overflow:visible;display:flex;flex-direction:column}.game-board-container{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible}.game-footer{display:flex;margin-top:32px;gap:12px}h2{font-family:Reggae One,cursive;font-size:18px;margin-bottom:4px;text-decoration:underline}.info-column{text-align:left;max-width:320px}.info-box{padding:12px;margin-bottom:32px;background-color:#000;color:#fff;text-align:left;font-family:Reggae One,cursive}ul{list-style-type:none;padding-left:0;text-align:left}ul li{cursor:pointer}.info-box dl{display:grid}.info-box dt{grid-column:1}.info-box dd{grid-column:2;color:#0f0;text-align:right}.info-box dd span{color:#6db56d}.game-popup-menu{background-color:#ddd;color:#000;position:absolute;width:520px;height:85%;left:50%;top:50%;transform:translate(-50%) translateY(-50%);padding:16px;display:flex;flex-direction:column;border:1px solid #000;box-shadow:12px 12px #7a7a7a66}.game-popup-menu h2{text-decoration:none;text-align:left}.game-popup-menu p{text-align:left;margin:0 0 12px}.popup-menu-content{flex-grow:1;font-family:Oxanium,cursive;background:#fff;border:inset;text-align:left}.game-board{display:grid;background-color:#62ae62;border:2px solid #000;margin:0 auto;flex:1 1 auto;min-height:0;transform-origin:center}.player-riding-dragon{animation:dragon-power-pulse 1.5s ease-in-out infinite;text-shadow:0 0 8px currentColor,0 0 12px currentColor;font-weight:700}@keyframes dragon-power-pulse{0%,to{transform:scale(1);opacity:1;text-shadow:0 0 8px currentColor,0 0 12px currentColor}50%{transform:scale(1.2);opacity:.8;text-shadow:0 0 15px currentColor,0 0 20px currentColor,0 0 25px #ff6b00}}.stats{font-family:monospace;padding:0;width:100%}.stats h2{color:#fff;text-align:left;border-bottom:1px solid #666;padding-bottom:5px}.info-box{border:1px solid #444;margin-bottom:15px;padding:8px;box-shadow:0 0 8px #0f03;position:relative;width:100%;box-sizing:border-box}.player-name{color:#ff5;font-weight:700;margin-bottom:10px;text-decoration:underline;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}dl{display:grid;grid-template-columns:auto 1fr;gap:5px;margin:0;width:100%}dt{color:#0f0;text-align:left}dt:after{content:":"}dd{color:#fff;margin:0 0 0 10px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opponent-info{margin-top:10px;border-top:1px dashed #f00;padding-top:5px;width:100%}.ascii-health-bar{color:#f55;font-weight:700;margin:5px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.opponent-health-bar{background:#300;height:10px;width:100%;margin-top:5px;border:1px solid #500;box-shadow:0 0 5px #ff00004d}.opponent-health-remaining{background:linear-gradient(to right,#f00,#f55);height:100%}.dragon-list{list-style-type:none;padding-left:5px;margin-top:5px;width:100%}.dragon-list li{display:flex;align-items:center;margin-bottom:3px;color:#0ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dragon-list-item{cursor:pointer;padding:4px;border-radius:3px;transition:background-color .2s,color .2s}.dragon-list-item:hover{background-color:#00ffff1a;color:#fff}.dragon-list-item{justify-content:space-between}.dragon-name{flex:1;margin-left:5px}.dragon-fatigue{margin-left:auto;font-size:.9em;color:orange}.dragon-resting{opacity:.7}.dragon-resting .dragon-name{color:#888}.dragon-list li img{margin-right:10px}.dragon-benefits{margin-top:8px;border-top:1px dashed #444;padding-top:6px;position:relative;width:100%}.dragon-benefits h3{color:#efc6ff;margin:0 0 3px;text-align:left;font-size:.9em}.dragon-benefits p{color:#fff;font-style:italic;text-align:left;background:rgba(0,0,0,.3);padding:1px 2px;margin:2px 0;font-size:.8em}.dragon-benefits ul{list-style-type:none;margin:3px 0 0;border-left:2px solid #30f;padding:0 0 0 8px}.dragon-benefits li{color:#0f0;font-size:.8em;margin-bottom:1px;line-height:1.2}.stat-bonus{color:#4ecdc4;font-weight:700;font-size:.9em}.stat-penalty{color:#ff6b6b;font-weight:700;font-size:.9em}.dev-tools-link{margin-top:10px;text-align:center;border-top:1px solid #444;padding-top:8px}.dev-link{color:#ff5722;text-decoration:none;font-size:.85em;padding:4px 8px;border:1px solid #ff5722;border-radius:4px;background:rgba(255,87,34,.1);transition:all .2s ease}.dev-link:hover{background:rgba(255,87,34,.2);text-decoration:underline}.poison-status{color:#8f0;font-weight:700;animation:poison-pulse 1s ease-in-out infinite}@keyframes poison-pulse{0%,to{opacity:1}50%{opacity:.6}}.dragon-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.dragon-modal{background-color:#2a2a2a;border:2px solid #444;border-radius:8px;padding:20px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;position:relative;color:#fff;box-shadow:0 4px 20px #00000080}.dragon-modal-close{position:absolute;top:10px;right:15px;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.dragon-modal-close:hover{color:#f44}.dragon-modal-header{display:flex;align-items:center;margin-bottom:20px;gap:15px}.dragon-modal-image{width:80px;height:80px;object-fit:contain;border:2px solid #555;border-radius:4px;background-color:#333}.dragon-modal-info h2{margin:0 0 5px;color:#fff;font-size:24px}.dragon-modal-level{margin:0;color:#aaa;font-size:16px}.dragon-modal-stats{margin-bottom:20px}.dragon-modal-stats h3{margin:0 0 10px;color:#fff;border-bottom:1px solid #555;padding-bottom:5px}.dragon-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dragon-stat{display:flex;justify-content:space-between;padding:5px 10px;background-color:#333;border-radius:4px}.stat-label{color:#ccc;font-weight:700}.stat-value{color:#fff}.dragon-modal-powers{margin-bottom:20px}.dragon-modal-powers h3{margin:0 0 10px;color:#fff;border-bottom:1px solid #555;padding-bottom:5px}.dragon-power{background-color:#333;padding:15px;border-radius:4px;border-left:4px solid #f84}.power-type{margin:0 0 10px;color:#f84;font-size:18px}.power-effects{margin:0;padding-left:20px;list-style-type:none}.power-effect{color:#ccc;margin-bottom:5px;position:relative}.power-effect:before{content:"»";position:absolute;left:-15px;color:#f84}.dragon-modal-actions{display:flex;justify-content:center;gap:10px}.dragon-action-button{padding:12px 24px;border:none;border-radius:4px;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .2s}.ride-button{background-color:#4a7c59;color:#fff}.ride-button:hover{background-color:#5a8c69}.unride-button{background-color:#7c4a4a;color:#fff}.unride-button:hover{background-color:#8c5a5a}.dragon-modal-fatigue{margin-bottom:20px}.dragon-modal-fatigue h3{margin:0 0 10px;color:#fff;border-bottom:1px solid #555;padding-bottom:5px}.fatigue-info{background-color:#333;padding:15px;border-radius:4px}.resting-status,.riding-status,.ready-status{display:flex;justify-content:space-between;align-items:center}.resting-status{border-left:4px solid #ffa500;padding-left:10px}.riding-status{border-left:4px solid #ff6b6b;padding-left:10px}.ready-status{border-left:4px solid #4ecdc4;padding-left:10px}.fatigue-label{color:#ccc;font-weight:700}.fatigue-value{color:#fff}.ride-button.disabled{background-color:#555;color:#888;cursor:not-allowed}.ride-button.disabled:hover{background-color:#555}.logs-row{background-color:#000;color:#fff;font-family:monospace;text-align:left;padding:0 12px 12px;border:1px solid #444;box-shadow:0 0 8px #0f03;position:relative;height:150px;overflow-y:auto;font-size:.95em;scrollbar-width:thin;scrollbar-color:#0f0 #000;flex-shrink:0}.logs-row .title-text{position:sticky;top:0;left:0;z-index:10;color:#0f0;font-weight:700;font-size:.9em;height:20px;line-height:20px;display:block;background-color:#000;border-bottom:1px solid #0f0;margin-bottom:5px;padding-left:10px;width:100%;box-sizing:border-box}.logs-row:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,#0f0,transparent)}.log-entry{border-left:3px solid #333;padding:3px 0 3px 8px;position:relative;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;justify-content:space-between}.log-metadata{font-size:.75em;color:#666;margin-left:10px;flex-shrink:0;font-style:italic}.log-entry:before{content:">";position:absolute;left:0;color:#666}.logs-row::-webkit-scrollbar{width:8px}.logs-row::-webkit-scrollbar-track{background:#000}.logs-row::-webkit-scrollbar-thumb{background-color:#0f0;border-radius:4px;border:2px solid #000}.latest-log{font-weight:700;border-left-color:#0f0;background-color:#00ff001a}.latest-log:before{color:#0f0}.shop-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.shop-modal{background-color:#2a2a2a;color:#e0e0e0;border-radius:8px;border:1px solid #444;width:700px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.shop-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #444}.shop-header h2{margin:0;color:#fff;font-size:24px}.shop-close-btn{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.shop-close-btn:hover{color:#fff}.shop-tabs{display:flex;border-bottom:1px solid #444;background-color:#2a2a2a}.shop-tab{flex:1;padding:12px 20px;background:none;border:none;color:#999;cursor:pointer;font-size:16px;transition:color .2s,background-color .2s}.shop-tab:hover{color:#fff;background-color:#333}.shop-tab.active{color:#fff;background-color:#3a3a3a;border-bottom:2px solid #ffd700}.shop-content{flex:1;overflow-y:auto;padding:20px}.shop-items-container{background-color:#333;border-radius:4px;border:1px solid #555;overflow:hidden}.shop-items-header{display:grid;grid-template-columns:1fr 100px 2fr;gap:20px;padding:12px 16px;background-color:#3a3a3a;border-bottom:1px solid #555;font-weight:700;color:#bbb;font-size:14px}.shop-items{list-style:none;margin:0;padding:0}.shop-item{display:grid;grid-template-columns:1fr 100px 2fr;gap:20px;padding:12px 16px;border-bottom:1px solid #444;cursor:pointer;transition:background-color .2s}.shop-item:last-child{border-bottom:none}.shop-item-affordable:hover{background-color:#3a3a3a}.shop-item-expensive{opacity:.5;cursor:not-allowed}.shop-item-expensive .shop-item-cost{color:#ff6b6b}.shop-item-name{font-weight:500;color:#fff}.shop-item-cost{text-align:right;color:gold}.shop-item-desc{color:#999;font-size:14px}.shop-footer{padding:20px;border-top:1px solid #444;background-color:#2a2a2a}.shop-gold-display{display:flex;justify-content:space-between;align-items:center;font-size:18px}.shop-gold-label{color:#999}.shop-gold-amount{color:gold;font-weight:700;font-size:20px}.shop-empty-state{padding:40px 20px;text-align:center;color:#999;font-style:italic}.quantity-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.quantity-modal{background-color:#2d3748;border:2px solid #4a5568;border-radius:8px;padding:0;min-width:300px;max-width:400px;font-family:monospace;box-shadow:0 10px 25px #0000004d}.quantity-modal-header{background-color:#1a202c;padding:15px 20px;border-bottom:1px solid #4a5568;display:flex;justify-content:space-between;align-items:center}.quantity-modal-header h3{margin:0;color:#e2e8f0;font-size:16px}.quantity-modal-close{background:none;border:none;color:#cbd5e0;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.quantity-modal-close:hover{color:#f56565}.quantity-modal-content{padding:20px;color:#e2e8f0;text-align:center}.quantity-modal-content p{margin:10px 0}.quantity-modal-available{color:#90cdf4;font-size:14px}.quantity-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin:20px 0}.quantity-btn{background-color:#4a5568;border:1px solid #718096;color:#e2e8f0;padding:8px 12px;cursor:pointer;font-size:16px;border-radius:4px;min-width:40px}.quantity-btn:hover:not(:disabled){background-color:#2d3748}.quantity-btn:disabled{opacity:.5;cursor:not-allowed}.quantity-input{background-color:#1a202c;border:1px solid #4a5568;color:#e2e8f0;padding:8px;text-align:center;width:80px;font-size:16px;border-radius:4px}.quantity-input:focus{outline:none;border-color:#63b3ed}.quantity-presets{display:flex;gap:10px;justify-content:center;margin:15px 0}.quantity-preset{background-color:#2d3748;border:1px solid #4a5568;color:#cbd5e0;padding:6px 12px;cursor:pointer;font-size:14px;border-radius:4px;min-width:35px}.quantity-preset:hover{background-color:#4a5568;color:#e2e8f0}.quantity-modal-footer{background-color:#1a202c;padding:15px 20px;border-top:1px solid #4a5568;display:flex;gap:10px;justify-content:flex-end}.quantity-modal-cancel,.quantity-modal-confirm{padding:8px 16px;border:1px solid #4a5568;cursor:pointer;font-size:14px;border-radius:4px}.quantity-modal-cancel{background-color:#4a5568;color:#e2e8f0}.quantity-modal-cancel:hover{background-color:#2d3748}.quantity-modal-confirm{background-color:#48bb78;color:#fff;border-color:#48bb78}.quantity-modal-confirm:hover{background-color:#38a169}.inn-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.inn-modal{background-color:#2a2a2a;color:#e0e0e0;border-radius:8px;border:1px solid #444;width:600px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.inn-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #444}.inn-header h2{margin:0;color:#fff;font-size:24px}.inn-close-btn{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.inn-close-btn:hover{color:#fff}.inn-content{flex:1;overflow-y:auto;padding:20px}.inn-description{text-align:center}.inn-description>p{font-size:16px;color:#ccc;margin-bottom:20px}.inn-benefits{background-color:#333;border-radius:4px;border:1px solid #555;padding:16px;margin:20px 0;text-align:left}.inn-benefits h3{margin:0 0 12px;color:#fff;font-size:18px}.inn-benefits ul{list-style:none;margin:0;padding:0}.inn-benefits li{padding:6px 0;color:#ddd;font-size:14px}.inn-fatigue-notice{color:#fa0!important;font-weight:500}.inn-pricing{background-color:#2d2d2d;border-radius:4px;border:1px solid #555;padding:16px;margin:20px 0}.inn-cost-display{display:flex;justify-content:space-between;align-items:center;font-size:18px}.inn-cost-label{color:#999}.inn-cost-amount{font-weight:700;font-size:20px}.inn-cost-amount.affordable{color:gold}.inn-cost-amount.expensive{color:#ff6b6b}.inn-footer{padding:20px;border-top:1px solid #444;background-color:#2a2a2a}.inn-gold-display{display:flex;justify-content:space-between;align-items:center;font-size:16px;margin-bottom:16px}.inn-gold-label{color:#999}.inn-gold-amount{color:gold;font-weight:700;font-size:18px}.inn-actions{display:flex;gap:12px;justify-content:flex-end}.inn-btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:500;transition:background-color .2s}.inn-btn-cancel{background-color:#555;color:#e0e0e0}.inn-btn-cancel:hover{background-color:#666}.inn-btn-rest{background-color:#4a9eff;color:#fff}.inn-btn-rest:hover:not(.disabled){background-color:#3a8eef}.inn-btn-rest.disabled{background-color:#444;color:#888;cursor:not-allowed}.sleep-animation{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000;z-index:2000;pointer-events:none;animation:sleepCycle 2s ease-in-out}@keyframes sleepCycle{0%{opacity:0}50%{opacity:1}to{opacity:0}}.item-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.item-menu-modal{background-color:#2a2a2a;color:#e0e0e0;border-radius:8px;border:1px solid #444;width:500px;max-width:90vw;box-shadow:0 4px 20px #0000004d}.item-menu-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #444}.item-menu-title{display:flex;align-items:center;gap:12px}.item-menu-icon{font-size:32px;background-color:#333;border-radius:8px;padding:8px;border:1px solid #555;display:flex;align-items:center;justify-content:center;width:48px;height:48px}.item-menu-header h2{margin:0;color:#fff;font-size:20px}.item-menu-close-btn{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.item-menu-close-btn:hover{color:#fff}.item-menu-content{padding:20px}.item-menu-effect-box{background-color:#333;border:1px solid #555;border-radius:4px;padding:16px;margin-bottom:24px;border-left:4px solid #ff8c00}.item-menu-effect-label{color:#ff8c00;font-size:14px;font-weight:700;margin-bottom:8px}.item-menu-effect-text{color:#e0e0e0;line-height:1.4;font-size:14px}.item-menu-actions{display:flex;gap:12px;justify-content:flex-end}.item-menu-action-btn{padding:8px 20px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s;font-weight:500}.item-menu-action-primary{background-color:#4a90e2;color:#fff}.item-menu-action-primary:hover{background-color:#357abd}.item-menu-action-secondary{background-color:#444;color:#e0e0e0}.item-menu-action-secondary:hover{background-color:#555}.item-menu-action-tertiary{background-color:#6a4c93;color:#fff}.item-menu-action-tertiary:hover{background-color:#5a3c83}.ignore-confirm-modal{width:400px}.ignore-confirm-modal p{margin:0 0 16px;line-height:1.4}.ignore-confirm-modal p:last-of-type{margin-bottom:24px;color:#ccc;font-size:14px}.inventory{padding:0}.inventory-list li:hover{color:#0ff}.inventory-item{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;margin:2px 0;background-color:#0003;border-radius:3px;font-size:.85em}.inventory-item:hover{background-color:#0006}.item-info{flex:1;cursor:pointer}.item-name{font-weight:700}.item-count{color:#aaa}.item-weight{color:#888;font-size:.8em}.item-stats{color:#4a4;font-size:.8em}.item-actions{display:flex;gap:5px}.equip-btn,.drop-btn{padding:4px 8px;border:1px solid;border-radius:3px;cursor:pointer;font-size:.8em;background-color:transparent}.equip-btn{color:#4a4;border-color:#4a4}.equip-btn:hover{background-color:#4a43}.drop-btn{color:#a44;border-color:#a44}.drop-btn:hover{background-color:#a443}.item-list{list-style:none;padding:0;margin:0}.empty-inventory{color:#888;font-style:italic;text-align:center;padding:20px}.item-shortcut{color:#ff0;font-weight:700;background-color:#ffff001a;padding:1px 3px;border-radius:2px;font-size:.9em}.equipment{padding:0}.weight-display{margin-bottom:10px;padding:6px;background-color:#0000004d;border-radius:4px;font-size:.85em}.weight-bar{width:100%;height:8px;background-color:#0000004d;border-radius:4px;margin-top:5px;overflow:hidden}.weight-fill{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:4px}.equipment dl{margin:0;font-size:.9em}.equipment dt{font-weight:700;margin-top:8px;margin-bottom:3px;color:#ddd}.equipment dd{margin-left:0;margin-bottom:5px;display:flex;align-items:center;justify-content:flex-start}.stats{color:#aaa;font-size:.8em;margin-left:8px}.unequip-btn{background-color:#444;color:#fff;border:1px solid #666;padding:2px 8px;border-radius:3px;cursor:pointer;font-size:.8em;margin-left:8px}.unequip-btn:hover{background-color:#555;border-color:#777}.unequip-btn:active{background-color:#333}.equipped-item{cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s ease;display:inline-block;width:100%}.equipped-item:hover{background-color:#ffffff1a;color:#0ff}.game-cell{height:1.5em;position:relative;border:none;box-shadow:none;transition:all .1s ease}.game-cell span{position:absolute;width:100%;text-align:center;display:block}.projectile{position:absolute;top:0;left:0;z-index:1000;pointer-events:none;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.5);animation:projectile-flight .3s ease-out forwards}@keyframes projectile-flight{0%{transform:translate(var(--from-x),var(--from-y)) scale(1);opacity:1}to{transform:translate(var(--to-x),var(--to-y)) scale(.8);opacity:.7}}.projectile-arrow{animation:projectile-arrow-flight .3s ease-out forwards}@keyframes projectile-arrow-flight{0%{transform:translate(var(--from-x),var(--from-y)) rotate(var(--rotation, 0deg)) scale(1);opacity:1}to{transform:translate(var(--to-x),var(--to-y)) rotate(var(--rotation, 0deg)) scale(.8);opacity:.7}}.projectile-fireball{animation:projectile-fireball-flight .4s ease-out forwards;text-shadow:0 0 8px currentColor,0 0 12px currentColor}@keyframes projectile-fireball-flight{0%{transform:translate(var(--from-x),var(--from-y)) scale(1);opacity:1;text-shadow:0 0 8px currentColor,0 0 12px currentColor}50%{transform:translate(calc((var(--from-x) + var(--to-x)) / 2),calc((var(--from-y) + var(--to-y)) / 2)) scale(1.2);opacity:1;text-shadow:0 0 12px currentColor,0 0 16px currentColor,0 0 20px #ff6b00}to{transform:translate(var(--to-x),var(--to-y)) scale(.6);opacity:.3;text-shadow:0 0 4px currentColor}}.projectile-bolt{animation:projectile-bolt-flight .2s ease-out forwards;text-shadow:0 0 6px currentColor,0 0 10px currentColor}@keyframes projectile-bolt-flight{0%{transform:translate(var(--from-x),var(--from-y)) scale(1);opacity:1}25%{opacity:.5;text-shadow:0 0 12px currentColor,0 0 16px currentColor}50%{opacity:1;text-shadow:0 0 8px currentColor,0 0 12px currentColor}75%{opacity:.7;text-shadow:0 0 10px currentColor,0 0 14px currentColor}to{transform:translate(var(--to-x),var(--to-y)) scale(.9);opacity:0}}.projectile-stone{animation:projectile-stone-flight .5s ease-in-out forwards}@keyframes projectile-stone-flight{0%{transform:translate(var(--from-x),var(--from-y)) scale(1);opacity:1}25%{transform:translate(calc(var(--from-x) + (var(--to-x) - var(--from-x)) * .25),calc(var(--from-y) + (var(--to-y) - var(--from-y)) * .25 - 10px)) scale(1.1)}50%{transform:translate(calc((var(--from-x) + var(--to-x)) / 2),calc((var(--from-y) + var(--to-y)) / 2 - 15px)) scale(1.2)}75%{transform:translate(calc(var(--from-x) + (var(--to-x) - var(--from-x)) * .75),calc(var(--from-y) + (var(--to-y) - var(--from-y)) * .75 - 10px)) scale(1.1)}to{transform:translate(var(--to-x),var(--to-y)) scale(1);opacity:.8}}.fire-breath-projectile{position:absolute;top:0;left:0;z-index:1001;pointer-events:none;animation:fire-stream .4s ease-out forwards}.fire-stream{font-size:20px;text-shadow:0 0 10px #ff6600,0 0 20px #ff3300,0 0 30px #ff0000,0 0 40px #cc0000;filter:blur(1px);animation:fire-flicker .1s infinite alternate}@keyframes fire-stream{0%{transform:translate(var(--from-x),var(--from-y)) rotate(var(--angle)) scale(.8);opacity:.9}50%{transform:translate(calc((var(--from-x) + var(--to-x)) / 2),calc((var(--from-y) + var(--to-y)) / 2)) rotate(var(--angle)) scale(1.2);opacity:1}to{transform:translate(var(--to-x),var(--to-y)) rotate(var(--angle)) scale(1);opacity:.8}}@keyframes fire-flicker{0%{filter:blur(1px) brightness(1)}to{filter:blur(2px) brightness(1.2)}}.fire-breath-explosion{position:absolute;top:0;left:0;z-index:1002;pointer-events:none;transform:translate(var(--x),var(--y));animation:explosion-expand .3s ease-out forwards}.explosion-inner{font-size:24px;display:block;text-shadow:0 0 20px #ff6600,0 0 40px #ff3300,0 0 60px #ff0000;animation:explosion-rotate .3s linear}@keyframes explosion-expand{0%{transform:translate(var(--x),var(--y)) scale(.5);opacity:1}50%{transform:translate(var(--x),var(--y)) scale(1.5);opacity:1}to{transform:translate(var(--x),var(--y)) scale(2);opacity:0}}@keyframes explosion-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.title-page h1{color:#efc6ff;font-family:Reggae One,cursive;position:absolute;top:-9999px;left:-9999px;font-size:100px;width:400px;text-shadow:3px 2px 6px black;text-align:left}.start-game-form{position:absolute;left:20px;top:350px;padding:20px;background-color:#001122e6;border:2px solid #44ffaa;box-shadow:0 0 15px #44ffaa4d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.start-game-form>*{display:block;text-align:left}.start-game-form label{color:#4fa;text-shadow:1px 1px 3px #000;font-size:18px;font-style:normal;font-family:Orbitron,sans-serif;font-weight:400}.start-game-form input{font-size:18px;padding:12px;width:300px;margin:12px 0;background-color:#012c;color:#8fc;border:1px solid #00ff88;font-family:Orbitron,sans-serif;outline:none;transition:all .3s ease}.start-game-form input:focus{border-color:#4fa;box-shadow:0 0 8px #4fa6;background-color:#001932e6}.start-game-form .start-button{font-size:16px;background:linear-gradient(135deg,#00ff88,#44ffaa);padding:12px 28px;border:1px solid #44ffaa;color:#012;text-align:center;float:right;margin:6px 0;font-family:Orbitron,sans-serif;font-weight:700;cursor:pointer;text-decoration:none;transition:all .3s ease;box-shadow:0 2px 8px #00ff884d}.start-game-form .start-button:hover{background:linear-gradient(135deg,#44ffaa,#88ffcc);transform:translateY(-1px);box-shadow:0 4px 12px #4fa6}.saved-game-options{margin-bottom:12px}.saved-game-options .divider{color:#8fc;text-shadow:1px 1px 3px #000;font-size:14px;font-family:Orbitron,sans-serif;text-align:center;margin:12px 0;opacity:.8}.start-button.dev-checkpoint-btn{background:linear-gradient(135deg,#4a5568,#2d3748);color:#8fc;border:1px solid #718096;box-shadow:0 2px 8px #4a55684d}.start-button.dev-checkpoint-btn:hover{background:linear-gradient(135deg,#718096,#4a5568);transform:translateY(-1px);box-shadow:0 4px 12px #71809666}.title-footer{position:fixed;bottom:20px;left:20px;z-index:100}.title-feedback-link{color:#8fc;text-decoration:none;font-size:12px;font-family:Orbitron,sans-serif;opacity:.7;transition:opacity .3s ease}.title-feedback-link:hover{opacity:1;text-decoration:underline}.class-selection{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:1000}.class-selection-modal{background:rgba(0,17,34,.95);border:2px solid #44ffaa;border-radius:8px;padding:2rem;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 0 25px #44ffaa4d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.class-selection h2{color:#4fa;font-family:Orbitron,sans-serif;font-weight:900;font-size:2.2rem;text-align:center;margin-bottom:1rem;text-shadow:2px 2px 6px rgba(0,0,0,.8);letter-spacing:1px}.class-selection-subtitle{color:#8fc;text-align:center;font-size:1.1rem;margin-bottom:2rem;text-shadow:1px 1px 3px rgba(0,0,0,.8);font-family:Orbitron,sans-serif;font-weight:400;opacity:.9}.class-options{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.class-option{background:rgba(0,17,34,.7);border:1px solid #008844;border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .3s ease;text-align:center;box-shadow:0 2px 8px #0843}.class-option:hover{border-color:#4fa;background:rgba(0,34,51,.8);transform:translateY(-3px);box-shadow:0 8px 20px #44ffaa4d}.class-option.selected{border-color:#4fa;background:rgba(0,51,68,.9);box-shadow:0 0 15px #4fa6}.class-icon{font-size:4rem;margin-bottom:1rem}.class-name{color:#4fa;font-family:Orbitron,sans-serif;font-weight:700;font-size:1.8rem;margin-bottom:1rem;text-shadow:1px 1px 3px rgba(0,0,0,.8)}.class-description{color:#8fc;font-size:.95rem;line-height:1.5;margin-bottom:1.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.6);font-family:Orbitron,sans-serif;font-weight:400;opacity:.9}.class-benefits{list-style:none;padding:0;margin:0}.class-benefits li{color:#0f8;font-size:.85rem;margin-bottom:.6rem;padding-left:1.2rem;position:relative;text-shadow:1px 1px 2px rgba(0,0,0,.6);font-family:Orbitron,sans-serif;font-weight:400}.class-benefits li:before{content:"▶";position:absolute;left:0;color:#4fa;font-size:.7rem}.class-selection-actions{display:flex;justify-content:space-between;align-items:center;margin-top:2rem}.back-button,.start-button{padding:12px 28px;font-size:1rem;font-family:Orbitron,sans-serif;font-weight:700;border:1px solid;border-radius:6px;cursor:pointer;transition:all .3s ease;text-shadow:1px 1px 3px rgba(0,0,0,.8)}.back-button{background:linear-gradient(135deg,#4a5568,#2d3748);color:#a0aec0;border-color:#718096;box-shadow:0 2px 8px #4a55684d}.back-button:hover{background:linear-gradient(135deg,#718096,#4a5568);border-color:#a0aec0;transform:translateY(-1px);box-shadow:0 4px 12px #71809666}.start-button{background:linear-gradient(135deg,#00ff88,#44ffaa);color:#012;border-color:#4fa;box-shadow:0 2px 8px #00ff884d}.start-button:hover{background:linear-gradient(135deg,#44ffaa,#88ffcc);border-color:#8fc;transform:translateY(-1px);box-shadow:0 4px 12px #4fa6}@media (max-width: 768px){.class-options{grid-template-columns:1fr}.class-selection h2{font-size:1.8rem}.class-name{font-size:1.4rem}.class-icon{font-size:3rem}.class-selection-actions{flex-direction:column;gap:1rem}.back-button,.start-button{width:100%}}.game-over-page h1{color:#efc6ff;font-family:Reggae One,cursive;position:absolute;top:0;left:20px;font-size:100px;width:400px;text-shadow:3px 2px 6px black;text-align:left}.game-over-content{position:absolute;left:20px;top:300px;padding:12px;max-width:600px}.defeat-message{color:#fff;text-shadow:3px 2px 6px black;font-size:24px;font-style:italic;font-family:Reggae One,cursive;display:block;margin-bottom:20px}.death-cause{background-color:#8b0000cc;border:2px solid #ff6b6b;border-radius:8px;padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.death-cause-label{color:#ff6b6b;font-weight:700;font-size:16px;text-shadow:1px 1px 2px black}.death-cause-value{color:#fff;font-weight:700;font-size:16px;text-shadow:1px 1px 2px black}.game-won-page h1{color:#efc6ff;font-family:Reggae One,cursive;position:absolute;top:0;left:20px;font-size:100px;width:400px;text-shadow:3px 2px 6px black;text-align:left}.game-won-content{position:absolute;left:20px;top:300px;padding:12px;max-width:600px}.victory-message{color:#fff;text-shadow:3px 2px 6px black;font-size:24px;font-style:italic;font-family:Reggae One,cursive;display:block;margin-bottom:20px}.game-stats-overview{background-color:#000c;border:2px solid #efc6ff;border-radius:10px;padding:20px;margin-bottom:20px;color:#fff}.game-stats-overview h2{color:#efc6ff;font-family:Reggae One,cursive;text-align:center;margin-bottom:15px;font-size:24px;text-shadow:2px 1px 4px black}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-bottom:20px}.stat-item{display:flex;justify-content:space-between;align-items:center}.stat-label{font-weight:700;color:#ccc}.stat-value{color:#fff;font-weight:700}.game-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.start-button{font-size:26px;background-color:#fff;padding:8px 28px;border:1px solid #000;color:#000;text-align:center;text-decoration:none;border-radius:5px}.share-button{background-color:#4caf50;color:#fff;border:1px solid #000;padding:8px 28px;font-size:26px;border-radius:5px;cursor:pointer;font-family:inherit;text-decoration:none}.share-button:hover{background-color:#45a049}.share-feedback{display:block;margin-top:10px;color:#4caf50;font-size:14px;font-weight:700}.history-book{position:absolute;right:30px;top:50%;transform:translateY(-50%);width:320px;background-color:#000c;border:2px solid rgba(255,255,255,.3);border-radius:10px;padding:20px;color:#fff;font-size:14px}.history-book h3{color:#ddd;font-family:Reggae One,cursive;font-size:18px;margin:0 0 15px;text-align:center;text-shadow:2px 1px 4px black}.history-entries{display:flex;flex-direction:column;gap:8px;max-height:480px;overflow-y:auto;padding-right:8px}.history-entries::-webkit-scrollbar{width:6px}.history-entries::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:3px}.history-entries::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:3px}.history-entries::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5)}.history-entry{padding:8px 10px;background-color:#ffffff14;border-radius:6px;border-left:3px solid #555;transition:all .3s ease;font-size:13px}.history-entry.current-player{background-color:#ffd70026;border-left-color:gold;box-shadow:0 0 12px #ffd7004d}.history-entry.current-game{background-color:#ff646433;border-left-color:#ff6464;box-shadow:0 0 15px #ff646466;transform:scale(1.02)}.entry-first-line{display:flex;align-items:center;gap:8px;margin-bottom:4px}.entry-rank{font-size:12px;color:#999;font-weight:700;min-width:25px;text-align:left}.entry-name{font-weight:700;color:#fff;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.entry-icon{font-size:14px}.entry-result-line{margin-bottom:6px;font-size:12px;text-align:left;margin-left:33px}.entry-death-cause{color:#f88;font-style:italic}.entry-victory{color:#8f8;font-style:italic}.entry-stats{display:flex;gap:8px;font-size:11px;color:#ccc;margin-left:33px}.entry-stats span{background-color:#ffffff1a;padding:2px 6px;border-radius:3px;white-space:nowrap}.history-entry.current-player .entry-name{color:gold}.history-entry.current-player .entry-stats span{background-color:#ffd70033;color:gold}.history-entry.current-game .entry-name{color:#faa}.history-entry.current-game .entry-stats span{background-color:#ff64644d;color:#faa}.dev-modal{width:400px;max-width:90vw;background:#2a2a2a;border:1px solid #444;border-radius:8px;padding:20px;color:#fff;position:relative}.dev-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #555}.dev-modal .modal-header h2{margin:0;color:#fff;font-size:24px}.dev-modal .modal-close{background:none;border:none;color:#999;font-size:28px;cursor:pointer;padding:0;line-height:1}.dev-modal .modal-close:hover{color:#fff}.dev-options{display:flex;flex-direction:column;gap:10px}.dev-option-btn{background:#2d3748;border:1px solid #4a5568;color:#fff;padding:12px 20px;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .2s;text-align:left}.dev-option-btn:hover{background:#4a5568}.dev-option-btn:active{background:#1a202c}.dev-toolbar{position:fixed;bottom:10px;right:10px;z-index:1000;background:rgba(0,0,0,.8);border:1px solid #333;border-radius:4px;padding:8px}.dev-checkpoint-btn{background:#2d3748;border:1px solid #4a5568;color:#fff;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .2s}.dev-checkpoint-btn:hover{background:#4a5568}.dev-checkpoint-btn:active{background:#1a202c}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.updates-modal{width:600px;max-width:90vw;max-height:80vh;background:#2a2a2a;border:1px solid #444;border-radius:8px;padding:20px;color:#fff;position:relative}.updates-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #555}.updates-modal .modal-header h2{margin:0;color:#fff;font-size:24px}.updates-modal .modal-close{background:none;border:none;color:#ccc;font-size:28px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.updates-modal .modal-close:hover{color:#f44}.updates-modal .modal-content{max-height:60vh;overflow-y:auto}.updates-list{display:flex;flex-direction:column}.update-entry{margin-bottom:20px}.update-date{color:gold;font-size:14px;font-weight:700;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px;text-align:left}.update-description{color:#fff;line-height:1.6;text-align:left}.update-description h1{color:#fff;font-size:20px;margin:0 0 15px;border-bottom:2px solid #555;padding-bottom:8px}.update-description h2{color:#fff;font-size:18px;margin:15px 0 10px}.update-description h3{color:#ccc;font-size:16px;margin:10px 0 8px}.update-description strong{color:gold;font-weight:700}.update-description ul{margin:10px 0;padding-left:20px}.update-description li{color:#ccc;margin-bottom:5px}.update-divider{height:1px;background:linear-gradient(90deg,transparent,#555,transparent);margin:20px 0}.updates-modal .modal-content::-webkit-scrollbar{width:8px}.updates-modal .modal-content::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.updates-modal .modal-content::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.updates-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#666}.help-modal{width:800px;max-width:95vw;max-height:90vh;background:#2a2a2a;border:1px solid #444;border-radius:8px;padding:20px;color:#fff;position:relative}.help-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #555}.help-modal .modal-header h2{margin:0;color:#fff;font-size:24px}.help-modal .modal-close{background:none;border:none;color:#ccc;font-size:28px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.help-modal .modal-close:hover{color:#f44}.help-navigation{display:flex;border-bottom:1px solid #555;margin-bottom:20px}.nav-btn{background:transparent;border:none;color:#ccc;padding:10px 20px;cursor:pointer;transition:all .2s;font-size:14px;border-radius:4px 4px 0 0}.nav-btn:hover{color:#fff;background:rgba(255,255,255,.1)}.nav-btn.active{color:#fff;background:rgba(255,215,0,.2);border-bottom:2px solid #ffd700}.help-modal .modal-content{max-height:70vh;overflow-y:auto;line-height:1.6;text-align:left}.help-content h3{color:#fff;margin-top:0;margin-bottom:16px;border-bottom:2px solid #555;padding-bottom:8px;font-size:20px}.help-content h4{color:gold;margin-top:20px;margin-bottom:12px;font-size:16px}.help-content p{color:#ccc;margin-bottom:16px}.help-content ul{color:#ccc;margin-left:20px;margin-bottom:16px;list-style-type:disc;padding-left:20px}.help-content li{margin-bottom:8px;display:list-item}.help-content strong{color:gold;font-weight:700}.controls-section{margin-bottom:24px}.control-item{display:flex;align-items:center;margin-bottom:8px;padding:8px 0}.control-item .key{background:#444;border:1px solid #666;border-radius:4px;padding:4px 8px;font-family:monospace;font-size:12px;color:#fff;min-width:120px;text-align:center;margin-right:16px;box-shadow:0 2px #222}.control-item .description{color:#ccc;flex:1}.help-modal .modal-content::-webkit-scrollbar{width:8px}.help-modal .modal-content::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.help-modal .modal-content::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.help-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#666}.help-footer{margin-top:20px;padding-top:15px;border-top:1px solid #555;text-align:center}.feedback-link{color:gold;text-decoration:none;font-size:14px;transition:color .2s}.feedback-link:hover{color:#fff;text-decoration:underline}.ignored-items-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.ignored-items-modal{background-color:#2a2a2a;color:#e0e0e0;border-radius:8px;border:1px solid #444;width:500px;max-width:90vw;max-height:80vh;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column}.ignored-items-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #444}.ignored-items-header h2{margin:0;color:#fff;font-size:20px}.ignored-items-close-btn{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.ignored-items-close-btn:hover{color:#fff}.ignored-items-content{padding:20px;display:flex;flex-direction:column;flex:1;overflow:hidden}.ignored-items-description{color:#ccc;font-size:14px;margin:0 0 20px;line-height:1.4}.no-ignored-items{text-align:center;padding:40px 20px;color:#999}.no-ignored-items p{margin:0 0 12px}.ignored-items-list{flex:1;overflow-y:auto;margin-bottom:20px}.ignored-item-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#333;border:1px solid #555;border-radius:4px;margin-bottom:8px}.ignored-item-row:last-child{margin-bottom:0}.ignored-item-name{color:#e0e0e0;font-size:14px;flex:1}.unignore-btn{background-color:#4a90e2;color:#fff;border:none;border-radius:4px;padding:6px 12px;font-size:12px;cursor:pointer;transition:all .2s;font-weight:500}.unignore-btn:hover{background-color:#357abd}.ignored-items-actions{display:flex;justify-content:flex-end;border-top:1px solid #444;padding-top:16px;margin-top:16px}.ignored-items-close-action-btn{background-color:#444;color:#e0e0e0;border:none;border-radius:4px;padding:8px 20px;font-size:14px;cursor:pointer;transition:all .2s;font-weight:500}.ignored-items-close-action-btn:hover{background-color:#555}.user-toolbar{position:fixed;bottom:10px;right:70px;z-index:1000;background:rgba(0,0,0,.8);border:1px solid #333;border-radius:4px;padding:8px}.user-toolbar:not(.dev-mode){right:10px}.user-toolbar-btn{background:#2d3748;border:1px solid #4a5568;color:#fff;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .2s;position:relative;margin-right:4px}.user-toolbar-btn:last-child{margin-right:0}.user-toolbar-btn:hover{background:#4a5568}.user-toolbar-btn:active{background:#1a202c}.updates-btn.has-notification{animation:pulse-notification 2s infinite}.notification-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:#ff4444;border-radius:50%;border:1px solid #000;animation:glow 2s infinite alternate}@keyframes pulse-notification{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes glow{0%{box-shadow:0 0 5px #f44}to{box-shadow:0 0 15px #f44,0 0 20px #f44}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.json-editor-toggle{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;background:#2d3748;border:2px solid #4a5568;color:#fff;font-size:20px;cursor:pointer;z-index:1000;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.json-editor-toggle:hover{background:#4a5568;border-color:#0f0;transform:scale(1.05)}.json-editor-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:2000}.json-editor-modal{background:#2a2a2a;border:2px solid #444;border-radius:8px;width:80%;max-width:800px;height:80%;max-height:600px;display:flex;flex-direction:column;color:#fff;box-shadow:0 4px 20px #00000080}.json-editor-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #555}.json-editor-header h3{margin:0;color:#fff;font-size:24px;font-family:Reggae One,sans-serif}.json-editor-close{position:absolute;top:10px;right:15px;background:none;border:none;color:#ccc;font-size:28px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color .2s}.json-editor-close:hover{color:#f44}.debug-options-section{padding:20px;border-bottom:1px solid #555}.debug-options-section h4{margin:0 0 15px;color:#fff;font-size:18px;font-family:Oxanium,sans-serif}.debug-option{display:flex;align-items:center;gap:12px;margin-bottom:12px}.debug-option label{color:#ccc;font-family:Oxanium,sans-serif;min-width:120px}.debug-option select{background:#2d3748;border:1px solid #4a5568;color:#fff;padding:8px 12px;border-radius:4px;font-family:Oxanium,sans-serif;cursor:pointer;transition:border-color .2s}.debug-option select:focus{outline:none;border-color:#4ecdc4}.debug-option select:hover{border-color:#0f0}.debug-status{color:#4ecdc4;font-size:12px;font-family:Oxanium,sans-serif;padding:4px 8px;background:rgba(78,205,196,.1);border-radius:4px}.debug-info{margin-top:10px}.debug-info small{color:#888;font-style:italic;font-family:Oxanium,sans-serif}.json-editor-textarea{flex:1;margin:20px;padding:16px;background:#333;border:1px solid #555;border-radius:4px;color:#fff;font-family:Courier New,monospace;font-size:14px;line-height:1.6;resize:none;outline:none;transition:border-color .2s}.json-editor-textarea:focus{border-color:#4ecdc4;box-shadow:0 0 5px #4ecdc44d}.json-editor-textarea::-webkit-scrollbar{width:8px}.json-editor-textarea::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.json-editor-textarea::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.json-editor-textarea::-webkit-scrollbar-thumb:hover{background:#666}.json-editor-actions{display:flex;gap:12px;padding:20px;border-top:1px solid #555;justify-content:flex-end}.json-editor-regenerate{background:#2d3748;color:#fff;border:1px solid #4a5568;padding:12px 24px;border-radius:4px;cursor:pointer;font-size:16px;font-family:Oxanium,monospace;transition:all .2s ease}.json-editor-regenerate:hover{background:#4a5568;border-color:#0f0}.json-editor-regenerate:active{background:#1a202c}.json-editor-cancel{background:transparent;color:#ccc;border:1px solid #555;padding:12px 24px;border-radius:4px;cursor:pointer;font-size:16px;font-family:Oxanium,monospace;transition:all .2s ease}.json-editor-cancel:hover{background:#4a5568;color:#fff;border-color:#4a5568}.playground{background-color:#fff;width:100%;min-height:100vh}.drops-by-level{display:flex;gap:24px;justify-content:space-evenly}.treasure-drop{color:#a4a400}.inventory-drop{color:#80005c}.weapon-drop{color:#00f;font-weight:700}.no-drop{color:gray}.boss-spawning-section{margin-bottom:40px;padding:20px;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);border-radius:12px;border:2px solid #ddd}.boss-spawning-section h2{margin-top:0;color:#333;text-align:center}.boss-spawning-section p{text-align:center;color:#666;margin-bottom:20px}.boss-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-width:800px;margin:0 auto}.boss-btn{padding:16px 20px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:700;color:#fff;text-align:center;transition:all .3s ease;box-shadow:0 4px 8px #0003}.boss-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.boss-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0003}.boss-btn small{display:block;font-size:11px;font-weight:400;opacity:.9;margin-top:4px}.orc-btn{background:linear-gradient(135deg,#ff6b35 0%,#f7931e 100%)}.orc-btn:hover{background:linear-gradient(135deg,#ff8a35 0%,#ffa31e 100%)}.shadow-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.shadow-btn:hover{background:linear-gradient(135deg,#768eea 0%,#864bab 100%)}.lich-btn{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.lich-btn:hover{background:linear-gradient(135deg,#21aa9e 0%,#48ff8d 100%)}.titan-btn{background:linear-gradient(135deg,#fc466b 0%,#3f5efb 100%)}.titan-btn:hover{background:linear-gradient(135deg,#fd567b 0%,#4f6efb 100%)}.boss-test-map{background-color:#1a1a1a;color:#fff;min-height:100vh;padding:20px;font-family:monospace}.test-header{text-align:center;margin-bottom:20px}.test-header h1{color:#ff5722;margin-bottom:10px}.test-info{background:rgba(255,255,255,.1);padding:10px;border-radius:5px;margin-bottom:15px}.test-info p{margin:5px 0;font-size:14px}.boss-info{color:gold;font-weight:700}.test-controls{display:flex;gap:20px;justify-content:center;margin-top:15px}.back-button,.game-button{background:#333;color:#fff;padding:10px 20px;text-decoration:none;border-radius:5px;transition:background .2s}.back-button:hover,.game-button:hover{background:#555}.map-container{display:flex;justify-content:center;margin:20px 0;border:2px solid #444;background:#000;padding:10px;overflow-x:auto}.entity-list{max-width:800px;margin:0 auto;background:rgba(255,255,255,.05);padding:20px;border-radius:5px}.entity-list h3{color:#ff5722;margin-bottom:10px}.entity-list ul{list-style:none;padding:0;max-height:300px;overflow-y:auto}.entity-list li{padding:5px;border-bottom:1px solid #333;font-size:12px}.entity-list li.boss-entity{color:gold;font-weight:700;background:rgba(255,215,0,.1)}.editor-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:#1a1a1a;color:#fff}.editor-loader h1{margin-bottom:1rem;font-size:2.5rem}.load-btn{padding:1rem 2rem;font-size:1.2rem;background:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s}.load-btn:hover{background:#45a049}.editor-container{min-height:100vh;background:#1a1a1a;color:#fff;padding:0;overflow-y:auto}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#2d2d2d;border-bottom:2px solid #444}.editor-header h1{margin:0;font-size:2rem}.editor-actions{display:flex;gap:.5rem}.send-back-btn{padding:.5rem 1rem;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.send-back-btn:hover{background:#45a049}.export-btn{padding:.5rem 1rem;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.export-btn:hover{background:#1976d2}.editor-tabs{display:flex;background:#2d2d2d;border-bottom:1px solid #444;overflow-x:auto}.tab{padding:1rem 1.5rem;background:none;border:none;color:#ccc;cursor:pointer;font-size:1rem;white-space:nowrap;transition:all .3s}.tab:hover{background:#3d3d3d;color:#fff}.tab.active{background:#4caf50;color:#fff}.editor-content{padding:2rem;max-width:1200px;margin:0 auto;overflow-y:auto;max-height:calc(100vh - 140px)}.tab-content h2{margin-top:0;margin-bottom:1.5rem;color:#4caf50;border-bottom:2px solid #4caf50;padding-bottom:.5rem}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.overview-card{background:#2d2d2d;padding:1.5rem;border-radius:8px;border:1px solid #444}.overview-card h3{margin-top:0;margin-bottom:1rem;color:#4caf50}.overview-card p{margin:.5rem 0}.editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.editor-section{background:#2d2d2d;padding:1.5rem;border-radius:8px;border:1px solid #444}.editor-section h3{margin-top:0;margin-bottom:1rem;color:#4caf50;border-bottom:1px solid #444;padding-bottom:.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#ccc;font-weight:500}.form-group input,.form-group select{width:100%;padding:.5rem;background:#1a1a1a;border:1px solid #555;border-radius:4px;color:#fff;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.form-group input[type=checkbox]{width:auto;margin-right:.5rem;transform:scale(1.2)}.inventory-section{margin-bottom:2rem}.inventory-section h3{color:#4caf50;margin-bottom:1rem;border-bottom:1px solid #444;padding-bottom:.5rem}.inventory-list{display:flex;flex-direction:column;gap:.5rem}.editor-content .inventory-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#2d2d2d;border:1px solid #444;border-radius:4px}.item-info{display:flex;align-items:center;gap:.5rem}.item-type{color:#888;font-size:.9rem}.item-quantity{color:#4caf50;font-weight:700}.remove-btn{padding:.25rem .5rem;background:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.remove-btn:hover{background:#d32f2f}.add-item-section{background:#2d2d2d;padding:1.5rem;border-radius:8px;border:1px solid #444}.add-item-section h3{color:#4caf50;margin-top:0;margin-bottom:1.5rem;border-bottom:1px solid #444;padding-bottom:.5rem}.item-category{margin-bottom:1.5rem}.item-category h4{color:#ffc107;margin-bottom:.5rem;font-size:1.1rem}.available-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.5rem}.available-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#1a1a1a;border:1px solid #555;border-radius:4px;transition:border-color .3s}.available-item:hover{border-color:#4caf50}.item-details{display:flex;flex-direction:column;gap:.25rem;flex:1}.item-details strong{color:#fff}.item-stat{color:#ffc107;font-size:.9rem}.item-desc{color:#ccc;font-size:.85rem;font-style:italic}.item-cost{color:#4caf50;font-size:.9rem;font-weight:700}.add-btn{padding:.5rem .75rem;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;white-space:nowrap;margin-left:1rem}.add-btn:hover{background:#45a049}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.actions-grid button{padding:1rem;background:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .3s}.actions-grid button:hover{background:#45a049}@media (max-width: 768px){.editor-header{flex-direction:column;gap:1rem;text-align:center}.editor-tabs{justify-content:center}.editor-content{padding:1rem}.overview-grid,.editor-grid{grid-template-columns:1fr}}
