:root {
  --pac-bg-dark: #1a1b1e;
  --pac-bg-panel: rgba(30, 30, 35, 0.95);
  --pac-accent: #ff4757;
  --pac-text-main: #ffffff;
  --pac-text-muted: #a4b0be;
  --pac-border: #2f3542;
  --pac-radius: 8px;
  --pac-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

.pac-avatar-creator {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: var(--pac-bg-dark);
  color: var(--pac-text-main);
  font-family: "Signika", sans-serif;
}

.pac-avatar-creator .window-content {
  padding: 0;
  background: var(--pac-bg-dark);
  color: var(--pac-text-main);
  overflow: hidden;
  height: 100%;
}

.pac-main-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  height: 100%;
  width: 100%;
}

/* Canvas Area */
.pac-canvas-container {
  background-color: #0f1013;
  background-image: 
    linear-gradient(45deg, #151619 25%, transparent 25%), 
    linear-gradient(-45deg, #151619 25%, transparent 25%), 
    linear-gradient(45deg, transparent 75%, #151619 75%), 
    linear-gradient(-45deg, transparent 75%, #151619 75%);
  background-size: 20px 20px;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.pac-canvas-wrapper {
  box-shadow: 0 0 50px rgba(0,0,0,0.5);
  border: 1px solid var(--pac-border);
}

.pac-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--pac-text-muted);
  text-align: center;
  pointer-events: none;
}
.pac-empty-state i { font-size: 3rem; margin-bottom: 1rem; opacity: 0.5; }

.pac-canvas-controls {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--pac-bg-panel);
  padding: 0.5rem 1rem;
  border-radius: 20px;
  display: flex;
  gap: 1rem;
  align-items: center;
  backdrop-filter: blur(10px);
  border: 1px solid var(--pac-border);
  box-shadow: var(--pac-shadow);
}

/* Sidebar */
.pac-sidebar {
  background: var(--pac-bg-panel);
  border-left: 1px solid var(--pac-border);
  display: flex;
  flex-direction: column;
  z-index: 10;
}

.pac-sidebar-header {
  padding: 1rem;
  border-bottom: 1px solid var(--pac-border);
  display: flex; 
  justify-content: space-between; 
  align-items: center;
}
.pac-sidebar-header h2 { margin: 0; font-size: 1.1rem; border: none;}

.pac-layers-list {
  flex: 1;
  overflow-y: auto;
  padding: 0.5rem;
}

.pac-layer-item {
  display: flex;
  align-items: center;
  padding: 0.75rem;
  background: rgba(255,255,255,0.03);
  margin-bottom: 0.5rem;
  border-radius: var(--pac-radius);
  cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}

.pac-layer-item:hover { background: rgba(255,255,255,0.08); }
.pac-layer-item.active { 
  background: rgba(255, 71, 87, 0.1); 
  border-color: var(--pac-accent); 
}

.pac-layer-item .layer-name { flex: 1; margin: 0 0.5rem; font-weight: 500; }
.pac-layer-item .type-icon { width: 20px; text-align: center; color: var(--pac-text-muted); }

.pac-properties-panel {
  padding: 1rem;
  background: rgba(0,0,0,0.2);
  border-top: 1px solid var(--pac-border);
}
.pac-properties-panel h3 { margin-top:0; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--pac-text-muted); border-bottom: none;}

.pac-control-group { margin-bottom: 1rem; }
.pac-control-group label { display: block; margin-bottom: 0.25rem; font-size: 0.85rem; }

.pac-sidebar-footer {
  padding: 1rem;
  border-top: 1px solid var(--pac-border);
}

/* Components */
.pac-btn-primary {
  background: var(--pac-accent);
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: var(--pac-radius);
  font-weight: 600;
  cursor: pointer;
  transition: filter 0.2s;
}
.pac-btn-primary:hover { filter: brightness(1.1); }
.full-width { width: 100%; display: flex; justify-content: center; gap: 0.5rem;}

.pac-btn-icon, .pac-btn-icon-small {
  background: transparent;
  border: none;
  color: var(--pac-text-main);
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.pac-btn-icon:hover { opacity: 1; }

.pac-avatar-creator input[type="range"] {
  width: 100%;
}

.pac-frame-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.pac-frame-select {
  border: 1px solid var(--pac-border);
  border-radius: var(--pac-radius);
  padding: 0.25rem;
  cursor: pointer;
  background: rgba(255,255,255,0.05);
  transition: all 0.2s;
}
.pac-frame-select:hover {
  border-color: var(--pac-accent);
  background: rgba(255,255,255,0.1);
}
.pac-frame-select img {
  width: 100%;
  height: auto;
  display: block;
}
