.map-list { width: 220px; flex-shrink: 0; background: #1f2937; border-right: 1px solid #374151; display: flex; flex-direction: column; overflow: hidden; } .map-list-header { padding: 1rem; border-bottom: 1px solid #374151; } .map-list-header h2 { font-size: 0.95rem; font-weight: 600; color: #f3f4f6; letter-spacing: 0.02em; } .map-create-form { display: flex; gap: 0.25rem; padding: 0.75rem; border-bottom: 1px solid #374151; } .map-create-form input { flex: 1; min-width: 0; background: #111827; border: 1px solid #4b5563; border-radius: 4px; color: #e5e7eb; padding: 0.35rem 0.5rem; font-size: 0.85rem; outline: none; } .map-create-form input:focus { border-color: #6366f1; } .map-create-form button { background: #6366f1; color: white; border: none; border-radius: 4px; padding: 0.35rem 0.6rem; font-size: 1rem; cursor: pointer; line-height: 1; } .map-create-form button:disabled { opacity: 0.4; cursor: not-allowed; } .map-entries { list-style: none; flex: 1; overflow-y: auto; padding: 0.25rem 0; } .map-empty { padding: 1rem; color: #6b7280; font-size: 0.85rem; text-align: center; } .map-entry { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; cursor: pointer; transition: background 0.1s; border-radius: 4px; margin: 0.1rem 0.25rem; } .map-entry:hover { background: #374151; } .map-entry.selected { background: #4338ca; } .map-name { flex: 1; font-size: 0.875rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .map-dims { font-size: 0.7rem; color: #9ca3af; flex-shrink: 0; } .map-entry.selected .map-dims { color: #c7d2fe; } .map-delete { background: none; border: none; cursor: pointer; padding: 0.1rem; opacity: 0; transition: opacity 0.15s; font-size: 0.85rem; line-height: 1; flex-shrink: 0; } .map-entry:hover .map-delete { opacity: 1; }