.wind-square { position: relative; width: 96px; height: 96px; border-radius: 22px; overflow: hidden; box-shadow: 0 10px 18px rgba(0, 0, 0, 0.28), inset 0 0 0 1px rgba(255, 240, 196, 0.2); } .square-base { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: sepia(1) hue-rotate(92deg) saturate(3.3) brightness(0.22); } .wind-square::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 28% 22%, rgba(255, 238, 191, 0.08), transparent 42%), linear-gradient(145deg, rgba(5, 33, 24, 0.34), rgba(0, 0, 0, 0.16)); pointer-events: none; z-index: 0; } /* ===== 四个三角形区域 ===== */ .quadrant { position: absolute; inset: 0; opacity: 0; pointer-events: none; z-index: 1; transition: opacity 0.2s ease; } /* 上三角 */ .quadrant-top { clip-path: polygon(50% 50%, 0 0, 100% 0); background: radial-gradient(circle at 50% 38%, rgba(255, 225, 180, 0.30), transparent 68%), linear-gradient(to bottom, rgba(180, 95, 55, 0.28), rgba(80, 35, 20, 0.12)); } /* 右三角 */ .quadrant-right { clip-path: polygon(50% 50%, 100% 0, 100% 100%); background: radial-gradient(circle at 62% 50%, rgba(255, 225, 180, 0.30), transparent 68%), linear-gradient(to left, rgba(180, 95, 55, 0.28), rgba(80, 35, 20, 0.12)); } /* 下三角 */ .quadrant-bottom { clip-path: polygon(50% 50%, 0 100%, 100% 100%); background: radial-gradient(circle at 50% 62%, rgba(255, 225, 180, 0.30), transparent 68%), linear-gradient(to top, rgba(180, 95, 55, 0.28), rgba(80, 35, 20, 0.12)); } /* 左三角 */ .quadrant-left { clip-path: polygon(50% 50%, 0 0, 0 100%); background: radial-gradient(circle at 38% 50%, rgba(255, 225, 180, 0.30), transparent 68%), linear-gradient(to right, rgba(180, 95, 55, 0.28), rgba(80, 35, 20, 0.12)); } /* 激活时闪烁 */ .quadrant.active { opacity: 1; animation: quadrant-pulse 1.2s ease-in-out infinite; } @keyframes quadrant-pulse { 0% { opacity: 0.22; filter: brightness(0.95); } 50% { opacity: 0.72; filter: brightness(1.18); } 100% { opacity: 0.22; filter: brightness(0.95); } } .diagonal { position: absolute; left: 50%; top: 50%; width: 160%; height: 2px; border-radius: 999px; background: linear-gradient( 90deg, rgba(0, 0, 0, 0) 0%, rgba(80, 35, 20, 0.6) 25%, rgba(160, 85, 50, 0.9) 50%, rgba(80, 35, 20, 0.6) 75%, rgba(0, 0, 0, 0) 100% ); transform-origin: center; z-index: 2; } .diagonal-a { transform: translate(-50%, -50%) rotate(45deg); } .diagonal-b { transform: translate(-50%, -50%) rotate(-45deg); } .wind-slot { position: absolute; width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; z-index: 3; } .wind-icon { width: 100%; height: 100%; object-fit: contain; filter: brightness(0) invert(1) drop-shadow(0 0 2px rgba(255, 220, 180, 0.8)) drop-shadow(0 0 4px rgba(120, 60, 30, 0.6)); } .wind-top { top: 5px; left: 34px; } .wind-right { top: 34px; right: 5px; } .wind-bottom { bottom: 5px; left: 34px; } .wind-left { top: 34px; left: 5px; }