:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;background-color:#f4f7f9;color:#2c3e50}.navbar{background:#2c3e50;height:80px;display:flex;justify-content:center;align-items:center;font-size:1.2rem;position:sticky;top:0;z-index:999;width:100%}.navbar-container{display:flex;justify-content:space-between;height:80px;z-index:1;width:100%;max-width:1300px;margin:0 auto;padding:0 50px}.navbar-logo{color:#fff;justify-self:start;cursor:pointer;text-decoration:none;font-size:2rem;display:flex;align-items:center}.nav-menu{display:flex;align-items:center;list-style:none;text-align:center}.nav-item{height:80px}.nav-links{color:#fff;display:flex;align-items:center;text-decoration:none;padding:.5rem 1rem;height:100%;transition:all .2s ease-out}.nav-links:hover{color:#3498db;border-bottom:4px solid #3498db}.nav-links.activated{border-bottom:4px solid #3498db}.container{max-width:900px;margin:2rem auto;padding:1rem}.title{font-size:2.5rem;color:#2c3e50;text-align:center;margin-bottom:.5rem}.subtitle{text-align:center;color:#7f8c8d;margin-bottom:2rem}.error-message{color:#e74c3c;text-align:center;margin-bottom:1rem}.dropzone{border:2px dashed #bdc3c7;border-radius:10px;padding:2rem;text-align:center;background-color:#f8f9fa;transition:background-color .3s,border-color .3s}.dropzone--dragging{background-color:#ecf0f1;border-color:#3498db}.dropzone__content{margin-bottom:2rem}.dropzone__input{display:none}.image-previews{display:flex;justify-content:space-around;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.preview-container{display:flex;flex-direction:column;align-items:center}.preview-container h3{color:#34495e;margin-bottom:1rem}.preview-box{width:320px;height:320px;border-radius:8px;background-color:#ecf0f1;display:flex;align-items:center;justify-content:center;color:#95a5a6;overflow:hidden;box-shadow:0 4px 8px #0000000d}.preview-box img{max-width:100%;max-height:100%;object-fit:contain}.loading-indicator p{margin:0;font-size:1.2rem;color:#34495e}.action-buttons{display:flex;justify-content:center;gap:1rem}.btn{padding:.8rem 1.5rem;font-size:1rem;border-radius:5px;border:none;cursor:pointer;transition:background-color .3s,transform .2s;font-weight:500}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn--primary{background-color:#3498db;color:#fff}.btn--primary:hover:not(:disabled){background-color:#2980b9}.btn--secondary{background-color:#2ecc71;color:#fff}.btn--secondary:hover:not(:disabled){background-color:#27ae60}.btn--cta{background-color:#e67e22;color:#fff}.btn--cta:hover:not(:disabled){background-color:#d35400}.game-container{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.canvas-container{border:1px solid #ccc;background-color:#f0f0f0;overflow:auto;max-width:100%;display:flex;justify-content:center;align-items:center}.tile-palette{width:340px;flex-shrink:0;border:1px solid #ddd;padding:10px;box-shadow:0 2px 4px #0000001a;border-radius:8px;max-height:720px;overflow-y:auto;background-color:#f8f9fa}.tile-palette h2{text-align:center;color:#333;margin-top:0;margin-bottom:15px;font-size:1.2em}.tiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:10px}.tile-item{cursor:pointer;border:2px solid transparent;border-radius:8px;display:flex;justify-content:center;align-items:center;transition:all .2s ease-in-out;width:60px;height:60px;padding:5px;background-color:#fff;box-shadow:0 1px 3px #0000001a}.tile-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.tile-item.selected{border-color:#007bff;box-shadow:0 0 10px #007bff80}.tile-item img{pointer-events:none;display:block;max-width:100%;max-height:100%;object-fit:contain}.map-editor-page{display:flex;flex-direction:column;align-items:center;padding:20px;background-color:#f0f0f0;min-height:calc(100vh - 60px)}.map-editor-page h1{color:#333;margin-bottom:20px}.editor-content{display:flex;justify-content:center;align-items:flex-start;width:100%;max-width:1400px;gap:20px}.map-canvas-container{flex-grow:1;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#2c3e50;border:1px solid #ddd;padding:10px;box-shadow:0 2px 4px #0000001a;border-radius:8px;width:100%;height:100%}.map-canvas-container canvas{border:1px solid #ccc;background-color:#2c3e50}.map-canvas-container .controls{margin-top:15px;display:flex;gap:15px;align-items:center;flex-wrap:wrap;justify-content:center;background-color:#fff;padding:10px;border-radius:8px}.map-canvas-container .controls label{font-weight:700;color:#555;display:flex;align-items:center;gap:5px}.map-canvas-container .controls input[type=number],.map-canvas-container .controls input[type=text]{width:50px;padding:5px;border:1px solid #ccc;border-radius:4px;text-align:center}.map-canvas-container .controls input[type=checkbox]{width:auto;margin-right:5px}.map-canvas-container .controls button,.map-canvas-container .controls .load-button{background-color:#007bff;color:#fff;padding:8px 15px;border:none;border-radius:8px;cursor:pointer;font-size:.9em;transition:background-color .2s ease,box-shadow .2s ease;box-shadow:0 2px 4px #0003}.map-canvas-container .controls button:hover,.map-canvas-container .controls .load-button:hover{background-color:#0056b3;box-shadow:0 4px 8px #0000004d}.map-canvas-container .controls button.active-tool{background-color:#28a745;box-shadow:0 3px 6px #28a74566;transform:translateY(-1px)}.map-canvas-container .controls button.active-tool:hover{background-color:#218838;box-shadow:0 5px 10px #28a74580}.map-canvas-container .controls .load-button{position:relative;overflow:hidden;display:inline-block;text-align:center}.map-canvas-container .controls .load-button input[type=file]{position:absolute;left:0;top:0;opacity:0;cursor:pointer}.map-canvas-container .controls label span{display:inline-block;padding:6px 10px;min-width:30px;text-align:center;background-color:#eee;border-radius:4px;margin:0 5px;box-shadow:inset 0 1px 3px #0000001a;color:#333}.page-container{padding:2rem;width:100%}
