@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Inter:wght@400;500;600&display=swap";:root{--bg-base: #0f1115;--bg-surface: #16181d;--bg-hover: #1e2128;--accent: #14b8a6;--success: #22c55e;--warning: #eab308;--danger: #ef4444;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #475569;--border: rgba(255, 255, 255, .08);--font-sans: "Inter", -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);overflow:hidden;font-size:13px}.editor-container{display:grid;grid-template-rows:44px 1fr;height:100vh}.main-content{display:grid;grid-template-columns:1fr 60vw 1fr;grid-template-areas:"sidebar main-editor properties";height:100%}.toolbar{display:flex;justify-content:space-between;align-items:center;background:var(--bg-surface);padding:0 var(--space-3);border-bottom:1px solid var(--border)}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.toolbar-sep{width:1px;height:18px;background:var(--border)}.toolbar-icon-btn{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px 6px;line-height:1}.toolbar-icon-btn:hover{color:var(--text-primary)}.level-name-editor{display:flex;align-items:center}#level-name-display{font-size:13px;font-weight:600;color:var(--text-primary);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:4px;transition:background .15s}#level-name-display:hover{background:var(--bg-hover)}#level-name-input{font-size:13px;font-weight:600;padding:var(--space-1) var(--space-2);border:1px solid var(--accent);border-radius:4px;background:var(--bg-base);color:var(--text-primary);outline:none}.auto-save-indicator{font-size:10px;color:var(--text-muted);transition:color .3s}.auto-save-indicator.saving{color:var(--warning)}.btn{padding:6px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:12px;font-weight:500;cursor:pointer;transition:color .15s,background .15s}.btn:hover{color:var(--text-primary);background:var(--bg-hover)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent);opacity:.85}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{opacity:.85}.btn-success{background:var(--success);color:#fff}.btn-success:hover{opacity:.85}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.85}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover{opacity:.85}.btn-outline{border:1px solid var(--border)}.btn-small{padding:4px 8px;font-size:11px}.mode-buttons-container{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:1000;display:flex;gap:0;background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;padding:2px}.mode-btn{padding:6px 14px;border:none;border-radius:2px;background:transparent;color:var(--text-muted);font-family:var(--font-sans);font-size:12px;font-weight:500;cursor:pointer}.mode-btn:hover{color:var(--text-secondary)}.mode-btn.active{background:var(--bg-hover);color:var(--text-primary)}.render-toggle{display:flex;align-items:center;gap:6px;padding:4px 10px;margin-left:8px;border-left:1px solid var(--border);cursor:pointer}.render-toggle input{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.render-toggle .toggle-label{font-size:11px;color:var(--text-muted);font-weight:500}.render-toggle:hover .toggle-label{color:var(--text-secondary)}.render-toggle input:checked+.toggle-label{color:var(--accent)}.sidebar{grid-area:sidebar;display:flex;flex-direction:column;background:var(--bg-surface);border-right:1px solid var(--border);overflow:hidden}.tile-palette{flex:1 1 55%;display:flex;flex-direction:column;overflow:hidden}.tile-types{padding:var(--space-3);border-bottom:1px solid var(--border);flex:1;display:flex;flex-direction:column;overflow:hidden}.tile-types h3,.stage-header h3{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:var(--space-3)}.tile-grid-2col{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;overflow-y:auto;flex:1;padding:4px}.tile-item-2col{display:flex;flex-direction:column;align-items:center;padding:4px 2px;border-radius:4px;cursor:pointer}.tile-item-2col:hover{background:#ffffff0d}.tile-label{font-family:var(--font-mono);font-size:8px;font-weight:500;color:var(--text-muted);text-align:center;margin-top:2px;text-transform:uppercase;letter-spacing:.02em}.tile-item-2col:hover .tile-label{color:var(--text-secondary)}.tile{width:72px;height:72px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px}.tile.selected{background:#14b8a626}.tile-item-2col:has(.tile.selected){background:#14b8a61a;outline:1px solid var(--accent)}.tile-item-2col:has(.tile.selected) .tile-label{color:var(--accent)}.tile canvas{display:block}.tile img{width:100%;height:100%;object-fit:contain;image-rendering:auto}.stage-management{flex:1 1 45%;display:flex;flex-direction:column;overflow:hidden;padding:var(--space-3)}.stage-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.stage-preview-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.stage-list-compact{overflow-y:auto;height:100%;display:flex;flex-direction:column;align-items:center;padding:var(--space-2) 0}.stage-item{position:relative;cursor:pointer;margin-bottom:-12px;z-index:1}.stage-item:last-child{margin-bottom:0}.stage-item.selected{z-index:5}.stage-preview{position:relative}.stage-preview-img{width:130px;height:auto;display:block;opacity:.7}.stage-item.selected .stage-preview-img{opacity:1}.stage-item:after{content:attr(data-stage-index);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-mono);font-size:14px;font-weight:700;color:#ffffff80;text-shadow:0 1px 3px rgba(0,0,0,.8);pointer-events:none}.stage-item.selected:after{color:var(--accent)}.stage-delete-btn{position:absolute;top:4px;right:4px;width:20px;height:20px;border:1px solid rgba(255,100,100,.5);border-radius:4px;background:#000000b3;color:#ff6464cc;font-size:14px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s;z-index:10;display:flex;align-items:center;justify-content:center}.stage-item:hover .stage-delete-btn{opacity:1}.stage-delete-btn:hover{background:#ff3c3ce6;border-color:#f44;color:#fff}.main-editor{grid-area:main-editor;background:var(--bg-base);display:flex;flex-direction:column;overflow:hidden}.grid-controls{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.grid-controls label{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-family:var(--font-mono);font-size:11px}.grid-controls input{width:48px;padding:4px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;text-align:center}.grid-controls input:focus{outline:none;border-color:var(--accent)}.zoom-controls{display:flex;align-items:center;gap:4px;margin-left:auto;padding-left:var(--space-4);border-left:1px solid var(--border)}.zoom-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;font-size:16px;font-weight:500;border-radius:4px;transition:all .15s ease}.zoom-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.zoom-btn:active{background:var(--accent);color:#fff}.zoom-reset{font-size:14px;margin-left:4px}#zoom-level{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);min-width:40px;text-align:center}.zoom-separator{color:var(--border);margin:0 4px}.editor-minimap{position:absolute;bottom:10px;right:10px;border:1px solid rgba(255,255,255,.15);border-radius:4px;cursor:pointer;box-shadow:0 4px 12px #0006;transition:opacity .2s ease}.editor-minimap:hover{border-color:var(--accent)}.grid-container{flex:1;display:flex;justify-content:center;align-items:center;padding:var(--space-2);overflow:hidden}#editor-grid{position:relative;width:100%;height:100%;min-height:300px;display:flex;align-items:center;justify-content:center;background:transparent}.isometric-canvas{display:block;border-radius:4px;cursor:crosshair}.properties-panel{grid-area:properties;background:var(--bg-surface);border-left:1px solid var(--border);padding:var(--space-4);overflow-y:auto}.panel-section{margin-bottom:var(--space-5)}.panel-section h4{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}#selected-tile-info{font-size:13px;color:var(--text-secondary)}#hovered-tile-info{font-size:12px;color:var(--text-secondary)}.hover-empty{color:var(--text-muted);font-style:italic;font-size:11px}.hover-tile-info{display:flex;flex-direction:column;gap:2px}.hover-coords{font-family:var(--font-mono);font-size:14px;color:var(--accent);font-weight:600}.hover-name{font-weight:500;color:var(--text-primary)}.hover-code{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);background:var(--bg-hover);padding:2px 6px;border-radius:3px;display:inline-block;width:fit-content}.hover-config{font-size:11px;color:var(--text-secondary);margin-top:2px}#stage-stats-panel{font-size:12px}.stats-empty{color:var(--text-muted);font-style:italic;font-size:11px}.stats-header{display:flex;justify-content:space-between;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--border)}.stats-header span:first-child{font-family:var(--font-mono);font-weight:600;color:var(--accent)}.stats-header span:last-child{color:var(--text-muted)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.stat-item{display:flex;justify-content:space-between;padding:3px 6px;background:var(--bg-hover);border-radius:3px}.stat-type{color:var(--text-secondary);font-size:11px}.stat-count{font-family:var(--font-mono);font-weight:600;color:var(--text-primary);font-size:11px}#tile-config-panel{font-size:13px;color:var(--text-secondary)}.config-section p{color:var(--text-muted);font-style:italic;font-size:12px}.config-group{margin:var(--space-3) 0}.config-group label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:var(--space-2);font-size:12px}.config-group .config-buttons{display:flex;gap:4px;flex-wrap:wrap}.config-group .config-btn{flex:1;min-width:40px;padding:6px 8px;border:none;background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;font-size:11px;text-align:center}.config-group .config-btn:hover,.config-group .config-btn.selected{background:var(--accent);color:#fff}.config-buttons.tile-variants{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px}.config-btn.tile-variant{width:48px;height:48px;padding:4px;border:2px solid var(--border);border-radius:6px;background:var(--bg-secondary);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;position:relative}.config-btn.tile-variant:hover{border-color:var(--accent);background:var(--bg-hover);transform:scale(1.05)}.config-btn.tile-variant.selected{border-color:var(--accent);background:var(--accent);box-shadow:0 0 8px #4ecdc480}.config-btn.tile-variant img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.config-btn.tile-variant .variant-label{position:absolute;bottom:2px;left:50%;transform:translate(-50%);font-size:8px;color:var(--text-muted);background:#000000b3;padding:1px 4px;border-radius:2px;white-space:nowrap}.config-btn.tile-variant.selected .variant-label{color:#fff}.config-btn.tile-variant .fallback-emoji{font-size:24px}#validation-status{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.validation-status.valid{color:var(--success)}.validation-status.invalid{color:var(--warning)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:none;align-items:center;justify-content:center;z-index:10000}.modal.active{display:flex}.modal-content{background:var(--bg-surface);padding:var(--space-5);border:1px solid var(--border);max-width:90%;max-height:90%;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.modal-header h3{font-size:16px;font-weight:600;color:var(--text-primary)}.btn-close{width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);font-size:18px;cursor:pointer}.btn-close:hover{color:var(--danger)}.modal-buttons{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.load-modal-enhanced{max-width:600px;width:100%}.load-options{display:flex;flex-direction:column;gap:var(--space-4)}.load-section{padding:var(--space-3) 0}.load-section:not(:last-child){border-bottom:1px solid var(--border)}.load-section h4{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.load-section .help-text{font-size:12px;color:var(--text-muted);margin-bottom:var(--space-3)}.levels-filter{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.search-input{flex:1;padding:6px 10px;border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);font-size:12px}.search-input:focus{outline:none;border-color:var(--accent)}.levels-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);max-height:250px;overflow-y:auto}.level-card{padding:var(--space-3);background:var(--bg-base);border:1px solid var(--border);cursor:pointer}.level-card:hover{border-color:var(--accent)}.level-card h4{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:var(--space-1)}.level-card .level-meta{font-size:11px;color:var(--text-muted)}.level-card-actions{display:flex;gap:var(--space-1);margin-top:var(--space-2)}.save-modal-enhanced{max-width:450px;width:100%}.save-form{display:flex;flex-direction:column;gap:var(--space-3)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group textarea{padding:8px 10px;border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:13px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.save-preview{padding:var(--space-3);background:var(--bg-base);margin:var(--space-3) 0;border-radius:4px}.pack-info{display:flex;align-items:center;gap:var(--space-3)}.pack-icon{font-size:24px}.pack-details h4{font-size:14px;font-weight:600;color:var(--text-primary)}.pack-meta{font-size:12px;color:var(--text-muted)}.save-thumbnail-container{margin-top:var(--space-3)}.save-thumbnail-container canvas{border-radius:4px;display:block}.save-info{padding:var(--space-3);background:var(--bg-base);display:flex;gap:var(--space-2);font-size:12px;color:var(--text-secondary)}.alert-modal-content{max-width:400px;width:100%}.modal-body{padding:var(--space-3) 0;color:var(--text-secondary)}.modal-body p{margin-bottom:var(--space-2)}.modal-footer{display:flex;gap:var(--space-2);justify-content:flex-end}.warning-message{display:flex;gap:var(--space-3);padding:var(--space-3);background:#ef44441a;color:var(--text-primary)}.warning-icon{font-size:24px}.tile-info{line-height:1.6}.tile-info .info-mode{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-2)}.tile-info .info-mode.create{color:var(--accent)}.tile-info .info-mode.edit{color:#f59e0b}.tile-info .info-mode.selected{color:#3b82f6}.tile-info .info-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.tile-info .info-meta{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-bottom:var(--space-2)}.tile-info .info-desc{font-size:12px;color:var(--text-secondary)}.validation-result{line-height:1.6}.validation-result .validation-status-text{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-2)}.validation-result .validation-status-text.valid{color:var(--success)}.validation-result .validation-status-text.invalid{color:var(--danger)}.validation-result .validation-list{list-style:none;font-size:12px;color:var(--text-secondary)}.validation-result .validation-item{margin-bottom:var(--space-1);padding-left:var(--space-3);position:relative}.validation-result .validation-item:before{content:"•";position:absolute;left:0;color:var(--danger)}#validation-status{padding:0;background:transparent;border:none}@media(max-width:1024px){.main-content{grid-template-columns:180px 1fr 160px}}@media(max-width:768px){.main-content{grid-template-columns:1fr;grid-template-areas:"main-editor" "sidebar" "properties"}.sidebar,.properties-panel{border:none;border-top:1px solid var(--border)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
